【问题标题】:Promise Chain Extension承诺链延伸
【发布时间】:2018-07-18 00:33:03
【问题描述】:

我很难使用 Promise 链接。我有一个通过一堆承诺解决的函数,我想要另一个基本上扩展该承诺链的函数,但我很难过。所以这就是它的样子。

function foo() {
  new Promise(function (res, re) {
    /* code */
  }).then(function() {
    /* code */
  }).then(function() {
    /* code */
  }).then(function() {
    /* code */
  });
}

我希望函数 extend() {} 扩展 foo 中的承诺链。我尝试将 foo 包装为一个承诺,但由于某种原因,这也不太奏效。有没有办法在不重复代码的情况下做到这一点?谢谢。

【问题讨论】:

  • 只是return 来自foo 的承诺。然后你可以扩展它。

标签: javascript node.js promise


【解决方案1】:

只需从foo返回承诺链:

return new Promise(/*...*/).then(/*...*/)

那么它就这么简单:

foo().then(/*...*/)

【讨论】:

  • 明白了。谢谢。我想知道为什么这种方法确实有效:function foo2() { new Promise(function(res,rej) { res(foo()) }) }
猜你喜欢
  • 2016-12-08
  • 2017-04-26
  • 1970-01-01
  • 2016-09-03
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 2015-03-27
  • 2023-03-21
相关资源
最近更新 更多