Resolver Javascript Promise fuera del alcance de la función

He estado usando ES6 Promise.

Por lo general, una promesa se construye y se usa así

new Promise(function(resolve, reject){
    if (someCondition){
        resolve();
    } else {
        reject();
    } 
});

Pero he estado haciendo algo como a continuación para tomar la resolución afuera en aras de la flexibilidad.

var outsideResolve;
var outsideReject;
new Promise(function(resolve, reject) { 
    outsideResolve = resolve; 
    outsideReject = reject; 
});

Y después

onClick = function(){
    outsideResolve();
}

Esto funciona bien, pero ¿hay una manera más fácil de hacerlo? Si no, ¿es esta una buena práctica?

Respuestas a la pregunta(10)

Su respuesta a la pregunta