Resolver Javascript Promise fora do escopo da função

Eu tenho usado o ES6 Promise.

Normalmente, uma promessa é construída e usada assim

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

Mas eu tenho feito algo como abaixo para levar a decisão para fora por uma questão de flexibilidade.

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

E depois

onClick = function(){
    outsideResolve();
}

Isso funciona bem, mas existe uma maneira mais fácil de fazer isso? Caso contrário, essa é uma boa prática?

questionAnswers(10)

yourAnswerToTheQuestion