Я использую nodejs и задаюсь вопросом, когда мне следует использовать Q отсрочку, а когда просто использовать Promise.resolve/ отклонять?
Я видел много примеров обоих видов, например:
// with Q defer
fucntion oneWay(myVal) {
var deffered = Q.defer();
if (myVal < 0) {
deffered.reject(new Error('nope'));
} else {
deffered.resolve('yay');
}
return deffered.promise;
}
// native Promise
fucntion orAnother(myVal) {
if (myVal < 0) {
return Promise.reject(new Error('nope'));
} else {
return Promise.resolve('yay');
}
}
В чем разница и когда лучше использовать разницу?
Есть ли разница между Promise.resolve/reject (собственным) и Q.resolve/reject? Они оба возвращают обещание, но оно выглядит по-другому, когда я смотрю на возвращаемое значение в консоли узла.
Спасибо