这是我需要完成的:
thePromise
我有一个返回承诺的函数(我们称之为)。
我有一个包含不同参数的数组来运行thePromise
。例子:
var thePromise = function(options) {
return new Promise(function(resolve, reject) {
// Some asynchronous code
resolve(value);
});
}
var parameters = [
{ a: 10, b: 15 },
{ a: 20, b: 30 }
];
我将解析value
到一个变量,我们称之为total
。
这是我卡住的地方:只有当承诺的结果总和total
低于定义的数量时,我才需要使用下一组参数运行承诺。
我尝试使用,但这不起作用,因为在我调用函数之前调用了下一个承诺。async
.each()
next()
当前(不工作)解决方案:
async.each(paramaters, function(options, next) {
thePromise(options).then(function(value) {
total += value;
if (total > 10) {
return next('limited');
}
next();
}).catch(next);
}, function(err) {
if (err && err !== 'limited) { // Handle error }
// Handle success
});