20得票2回答
承诺 - 错误回调与catch的区别

请问在使用 $q.promise 时,使用错误回调和 catch 函数有什么区别? 例如,这两个代码段在功能上是否等效?function doSomething0() { var deferred = $q.defer(); ... return deferred...

18得票1回答
循环中调用的数据库查询返回数据的问题

我在循环中执行了多个mongoDB查询,希望将所有结果作为一个数据数组发送。但是当我简单地使用return来发送数据时,它仅返回undefined,并且不等待所有DB请求的结果。我还尝试使用q.moulde,但问题依旧。 代码: ```html 我在循环中执行了多个mongoDB查询,希望将...

17得票5回答
如何使用“q”模块重构mongoose代码?

我正在使用mongoose将一些数据插入mongodb。代码如下:var mongoose = require('mongoose'); mongoose.connect('mongo://localhost/test'); var conn = mongoose.connection; /...

17得票7回答
如何使用AngularJS $q顺序链接承诺?

在承诺库 Q 中,您可以按以下方式按顺序链接承诺:var items = ['one', 'two', 'three']; var chain = Q(); items.forEach(function (el) { chain = chain.then(foo(el)); }); ret...

17得票1回答
创建一个空的Promise

我在一系列的Promise函数中有一个可能执行或者不执行的函数。例如: getYear().then(function(results){ if(results.is1999) return party(); else return Q.fcall(function(){/*...

17得票5回答
AngularJS - $q.all()的失效恢复能力

我正在尝试填充一些本地数据,解决一系列远程调用。 当每个承诺都被解决时,我会加载数据并继续进行。 方法$q.all( [] )正是如此做的: $q.all([ this.getUserInfo(11) .then(fu...

17得票1回答
是否有一种纯粹基于 Promise 的方法可以映射/连接集合?

async和Q的区别 我正在学习Node.js开发,并试图理解管理异步“回调地狱”的策略。我探索的两种主要策略是Caolan McMahon的async模块和Kris Kowal基于promise的Q模块。 像许多其他人一样,我仍然很难理解何时应该使用其中之一。但是,一般来说,我发现使用p...

16得票1回答
递归承诺?

我希望能循环遍历HTML 5文件系统中的所有文件,并在迭代完成后启动某些事件。由于这涉及异步和Promise,我很难理解它应该如何工作。 我正在使用AngularJS,并已创建一个服务来封装HTML 5文件系统特定功能。 这是递归函数:function walkDirectory(path...

16得票3回答
JavaScript Promise未传递所有参数(使用Q)

我无法传递所有参数。我的Promise回调只收到一个参数而不是三个:var asyncFunction= function(resolve) { setTimeout(function() { resolve("Some string that is passed", ...

16得票2回答
AngularJS承诺、$q、延迟对象

编辑 第一个答案很优雅,但是,正如在这个问题和另一个stackoverflow问题中多次说明的那样,问题在于服务和控制器在数据实际到达之前运行其操作。 (第一个答案的最后一条评论:) 是的,问题在于API调用完成后,服务才运行并将所有内容返回给控制器,请参见此处screencast.c...