【问题标题】:How to implement nested q promise in node js?如何在 node js 中实现嵌套的 q promise?
【发布时间】:2015-12-15 17:26:19
【问题描述】:

我们可以在 node js 中实现以下 q promise 嵌套吗?如果我们不能,是否有任何替代方法可以实现以下目标?

var array1 =[--*some data*--];
var array2=[],array4=[];

for(var i=0;i<array.length;i++)
{
 var promise1 = generatePromise1();
 array2.push(promise1); 
}

Q.all(array2).then(function(array3){
 for(var j=0;j<array3.length;j++)
 {
  var promise2 = generatePromise2();
  array4.push(promise2);
 }

 Q.all(array3).then(function(array4){
  return array4;
 })
})

【问题讨论】:

  • 如何在不知道它是否有效的情况下要求“实现以下目标”?
  • 你能用人类语言描述你想要什么吗?
  • 我之前尝试过上述方法,但没有返回 array4
  • @rdkrosan:没有返回它在哪里

标签: node.js promise q


【解决方案1】:

是的,您可以像这样实现它(没有变量编号中的拼写错误)。
但我建议始终 return 来自 .then 回调的承诺,并通过它取消回调:

var array1 = [ /*some data*/ ];
var array2  = array1.map(generatePromise1);

Q.all(array2).then(function(array3) {
    var array4 = array3.map(generatePromise2);
    return Q.all(array4);
}).then(function(array5) {
    … // use result here
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 2019-04-29
    • 2018-11-03
    • 2020-05-15
    • 2014-05-05
    • 2020-03-25
    • 1970-01-01
    相关资源
    最近更新 更多