草庐IT

node.js - 如何将 Q.all() 与复杂的 promise 数组一起使用?

假设我有一组对象和promise,例如:[{a:1},{a:4},{a:4},{promiseSend:[Function],valueOf:[Function]},{promiseSend:[Function],valueOf:[Function]}]现在,当我调用Q.all(arr)并在then()中返回对象值时,什么都没有发生,我的数组仍然包含promise对象。有什么方法可以处理Q.all()和如此复杂的数组? 最佳答案 Q应该是这样工作的。要获取所有值,而不是promise,您可以使用.spread():Q.all([a,

javascript promise 不传递所有参数(使用 Q)

我无法传递所有参数。我的promise回调只收到一个而不是三个:varasyncFunction=function(resolve){setTimeout(function(){resolve("Somestringthatispassed","andanother","third");},1000);};varpromiseFunction=function(){vardeferred=Q.defer();asyncFunction(deferred.resolve);returndeferred.promise;};promiseFunction().then(function()

javascript promise 不传递所有参数(使用 Q)

我无法传递所有参数。我的promise回调只收到一个而不是三个:varasyncFunction=function(resolve){setTimeout(function(){resolve("Somestringthatispassed","andanother","third");},1000);};varpromiseFunction=function(){vardeferred=Q.defer();asyncFunction(deferred.resolve);returndeferred.promise;};promiseFunction().then(function()

node.js - 创建一个空的 promise

我在一系列可能会或可能不会做某事的promise中拥有一个功能。例如getYear().then(function(results){if(results.is1999)returnparty();elsereturnQ.fcall(function(){/*donothinghere*/});}).then(sleep)getYear、party和sleep都返回Promise。有没有更简洁的方法来编写else语句?也就是说,什么都不做,但仍然返回一个可链接的promise? 最佳答案 是的。Q(value)为value返回一个p

node.js - 创建一个空的 promise

我在一系列可能会或可能不会做某事的promise中拥有一个功能。例如getYear().then(function(results){if(results.is1999)returnparty();elsereturnQ.fcall(function(){/*donothinghere*/});}).then(sleep)getYear、party和sleep都返回Promise。有没有更简洁的方法来编写else语句?也就是说,什么都不做,但仍然返回一个可链接的promise? 最佳答案 是的。Q(value)为value返回一个p

javascript - 是否有一种纯粹的基于 Promise 的映射/连接集合的方法?

一般来说异步与Q我正在学习Node.js开发,并试图围绕管理异步“回调hell”的策略展开思考。我探索的两个主要策略是CaolanMcMahon的async模块,以及KrisKowal的基于promise的Q模块。喜欢manyotherpeople,我仍在努力理解何时应该使用一个与另一个。但是,总的来说,我发现promises和基于Q的代码稍微更直观,所以我一直在朝着这个方向前进。映射/连接集合一般但是,我仍然无法使用异步模块的functionsformanagingcollections.来自Java和Python背景,大多数时候我使用集合时,逻辑如下所示:初始化一个新的空集合,用于

javascript - 是否有一种纯粹的基于 Promise 的映射/连接集合的方法?

一般来说异步与Q我正在学习Node.js开发,并试图围绕管理异步“回调hell”的策略展开思考。我探索的两个主要策略是CaolanMcMahon的async模块,以及KrisKowal的基于promise的Q模块。喜欢manyotherpeople,我仍在努力理解何时应该使用一个与另一个。但是,总的来说,我发现promises和基于Q的代码稍微更直观,所以我一直在朝着这个方向前进。映射/连接集合一般但是,我仍然无法使用异步模块的functionsformanagingcollections.来自Java和Python背景,大多数时候我使用集合时,逻辑如下所示:初始化一个新的空集合,用于

multithreading - node.js模块: Async vs Fibers. Promise与Q_oper8

只是想知道是否有人可以在处理异步事件的这些模块之间进行权衡比较。具体来说,我有兴趣了解使用异步而不是Fibers.promise的原因,至少现在我在测试代码中广泛使用了它。特别是,我在Fibers.promise中看到的主要优点之一是,我可以保持堆栈链的前端fork,从而可以使用try{}catch{}finally,并且还允许我确保在处理完请求后,响应结束。有人在使用Q_oper8吗?我在另一页上找到了它,只是想知道那是已经死了还是应该检查一下。 最佳答案 我从未听说过Q_oper8,所以我无法对此发表评论,但是我将从另一个方向对

multithreading - node.js模块: Async vs Fibers. Promise与Q_oper8

只是想知道是否有人可以在处理异步事件的这些模块之间进行权衡比较。具体来说,我有兴趣了解使用异步而不是Fibers.promise的原因,至少现在我在测试代码中广泛使用了它。特别是,我在Fibers.promise中看到的主要优点之一是,我可以保持堆栈链的前端fork,从而可以使用try{}catch{}finally,并且还允许我确保在处理完请求后,响应结束。有人在使用Q_oper8吗?我在另一页上找到了它,只是想知道那是已经死了还是应该检查一下。 最佳答案 我从未听说过Q_oper8,所以我无法对此发表评论,但是我将从另一个方向对

javascript - 在 Q Promises 中跳过 then 函数的正确方法

在我的代码中,根据特定条件,我想跳到done函数,而不考虑所有then函数。这个问题的原始版本在编辑中。以下是我正在处理的实际问题。很抱歉给您带来不便实际问题:我正在读取一个文件并处理它。如果文件的内容符合某些条件,我必须对文件系统进行一系列操作(比如读写几个文件),然后执行done函数。如果条件不成立,我要跳过这一系列操作,直接执行done函数。我在所有then函数中返回一个对象(比如说result),在下一个then中我更新result并返回它。所以,当所有的then都完成后,done就会有累积的result。最后,done将处理result并打印出来。因此,如果最初不满足条件,d