我有一个对象的承诺,想要获得该对象属性的承诺。我应该如何做?
var user = Q.nfcall(User.findOne, {
_id: userId
});
var accessToken = Q.Promise(function (resolve, reject) {
user.then(function (user) {
if (!user) return reject(new Error('User not found.'));
if (!user.github.accessToken) return reject(new Error('Access token not found.'));
return resolve(user.github.accessToken);
}, function(err) {
return reject(err);
});
});
这是我迄今为止尝试的方法,但我不确定它是否是最好(或最正确)的方法。
user
链接起来呢?user.then(function() {}, function() {})
。你也可以从 Promise 中返回一个标量值。 - zerkms