相关疑难解决方法(0)

如何在Q中按顺序链接可变数量的promise?

在Q中看到Chaining任意数量的承诺 ; 我的问题不同.

如何按顺序进行可变数量的调用,每个调用都异步返回?
该场景是一组HTTP请求,其数量和类型由第一个HTTP请求的结果确定.

我想简单地这样做.

我也看到过这样的答案:

var q = require('q'),
    itemsToProcess =  ["one", "two", "three", "four", "five"];

function getDeferredResult(prevResult) {
  return (function (someResult) {
    var deferred = q.defer();
    // any async function (setTimeout for now will do, $.ajax() later)
    setTimeout(function () {
      var nextResult = (someResult || "Initial_Blank_Value ") + ".." + itemsToProcess[0];
      itemsToProcess = itemsToProcess.splice(1);
      console.log("tick", nextResult, "Array:", itemsToProcess);
      deferred.resolve(nextResult);
    }, 600);

    return deferred.promise;
  }(prevResult));
}

var chain = q.resolve("start");
for (var i …
Run Code Online (Sandbox Code Playgroud)

node.js promise q

32
推荐指数
1
解决办法
1万
查看次数

标签 统计

node.js ×1

promise ×1

q ×1