从承诺中返回另一个承诺

蘑菇

我对一个对象有一个承诺,并希望对该对象的一个​​属性做出承诺。我该怎么办?

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);
    });
});

到目前为止,这是我尝试过的方法,但是我不确定这是否是最佳(或最正确)的方法。

贝吉

不要使用延迟的反图案1不需要使用Promise构造函数,.then已经向您返回了其回调结果的承诺:

var accessToken = user.then(function(user) {
    if (!user) throw new Error('User not found.');
    if (!user.github.accessToken) throw new Error('Access token not found.');
    return user.github.accessToken;
});

[1]:您已经看到自己容易出错:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在另一个承诺中从承诺中返回价值

来自分类Dev

将返回 foo 的承诺映射到另一个返回 bar 的承诺?

来自分类Dev

如何在返回新承诺的函数中使用另一个承诺?

来自分类Dev

服务承诺为组件上的另一个承诺返回处理过的数据

来自分类Dev

用另一个新的承诺拒绝承诺

来自分类Dev

作出承诺等待另一个承诺

来自分类Dev

对另一个类中的事件进行承诺

来自分类Dev

angularjs在$ q.all中返回另一个承诺

来自分类Dev

做出承诺取决于Angular中的另一个承诺

来自分类Dev

在承诺中循环直到另一个承诺结束

来自分类Dev

在包裹在另一个承诺中的流中等待承诺

来自分类Dev

AngularJS:返回一个承诺,它是由另一个按角度承诺的结果构造而成的?

来自分类Dev

从服务中返回一个承诺

来自分类Dev

承诺`then`,该函数不返回任何值,而函数返回另一个诺言

来自分类Dev

如何从另一个函数内的承诺返回值?

来自分类Dev

JS Promise - 返回结果不是另一个承诺

来自分类Dev

解决另一个承诺-轮换执行顺序?

来自分类Dev

将承诺链接到另一个

来自分类Dev

解决另一个函数的承诺

来自分类Dev

如何解决另一个函数的承诺

来自分类Dev

如何对一个调用另一个返回承诺的函数进行单元测试?

来自分类Dev

包括另一个异步等待承诺的承诺-如何解决?

来自分类Dev

jQuery:在一个函数中,意识到在另一个函数中已完成的承诺

来自分类Dev

如果您用另一个承诺解决一个承诺,应该怎么办?

来自分类Dev

我如何将一个承诺resolve()转移到另一个承诺

来自分类Dev

承诺,我在获取另一个函数的返回时遇到了一些麻烦

来自分类Dev

承诺多个 .then 当一个然后指望另一个

来自分类Dev

AngularJS:从.then内部返回一个承诺?

来自分类Dev

异步函数返回一个承诺

Related 相关文章

  1. 1

    在另一个承诺中从承诺中返回价值

  2. 2

    将返回 foo 的承诺映射到另一个返回 bar 的承诺?

  3. 3

    如何在返回新承诺的函数中使用另一个承诺?

  4. 4

    服务承诺为组件上的另一个承诺返回处理过的数据

  5. 5

    用另一个新的承诺拒绝承诺

  6. 6

    作出承诺等待另一个承诺

  7. 7

    对另一个类中的事件进行承诺

  8. 8

    angularjs在$ q.all中返回另一个承诺

  9. 9

    做出承诺取决于Angular中的另一个承诺

  10. 10

    在承诺中循环直到另一个承诺结束

  11. 11

    在包裹在另一个承诺中的流中等待承诺

  12. 12

    AngularJS:返回一个承诺,它是由另一个按角度承诺的结果构造而成的?

  13. 13

    从服务中返回一个承诺

  14. 14

    承诺`then`,该函数不返回任何值,而函数返回另一个诺言

  15. 15

    如何从另一个函数内的承诺返回值?

  16. 16

    JS Promise - 返回结果不是另一个承诺

  17. 17

    解决另一个承诺-轮换执行顺序?

  18. 18

    将承诺链接到另一个

  19. 19

    解决另一个函数的承诺

  20. 20

    如何解决另一个函数的承诺

  21. 21

    如何对一个调用另一个返回承诺的函数进行单元测试?

  22. 22

    包括另一个异步等待承诺的承诺-如何解决?

  23. 23

    jQuery:在一个函数中,意识到在另一个函数中已完成的承诺

  24. 24

    如果您用另一个承诺解决一个承诺,应该怎么办?

  25. 25

    我如何将一个承诺resolve()转移到另一个承诺

  26. 26

    承诺,我在获取另一个函数的返回时遇到了一些麻烦

  27. 27

    承诺多个 .then 当一个然后指望另一个

  28. 28

    AngularJS:从.then内部返回一个承诺?

  29. 29

    异步函数返回一个承诺

热门标签

归档