如何用Q循环调用返回promise
发布于 1年前 作者 coffeedeveloper 934 次浏览

刚刚用Q,不是很熟悉promise的概念。 我有一个事件处理流,传进来的参数有可能是url数组或者是一个url。 如何在参数是一个数组的情况下,循环调用事件处理流的下一步?

function foo(url) {
  var deferred = Q.defer();
  if( Array.isArray(url)) {
    url.forEach(function(u) {
      //无效,无法进入boo
      deferred.resolve(u);
    });
  } else {
     //有效能够进入boo
    deferred.resolve(url);
  }
  return deferred.promise;
}

function boo(s) {
  console.log('in boo');
}
回到顶部