在我当前的项目中,使用了Q库,我必须从多个Promise中收集数据以完成操作。 我正在尝试使用Q.all()方法,但最终的承诺似乎永远悬而未决。 示例代码是
Q.all([
getSomeData('table', 'record1'),
getSomeData('table', 'record2'),
getSomeData('table', 'record3')
]).then(processData, handleError);
每个getSomeData
都会返回Q许诺。 processData
和handleError
都不会被最终调用,如果我保存了最后的承诺,我会看到状态为“待处理”。
如果我单独履行所有这些承诺,那么所有这些承诺都会成功实现。如果我仅凭一个承诺(其中任何一个)运行Q.all
,它将成功实现。但是运行Q.all
有两个或多个诺言总是不成功的。
什么会引起这样的问题?还需要什么其他信息?