解析文档(https://www.parse.com/docs/js/symbols/Parse.Promise.html#.when)解释了当使用Parse.Promise.when时,指定一个承诺数组是犹太的:
var p1 = Parse.Promise.as(1);
var p2 = Parse.Promise.as(2);
var p3 = Parse.Promise.as(3);
var promises = [p1, p2, p3];
Parse.Promise.when(promises).then(function(r1, r2, r3) {
console.log(r1); // prints 1
console.log(r2); // prints 2
console.log(r3); // prints 3
});
......这很甜蜜!
但是,你真的必须列出then()函数中的每一个promise响应吗?如果你有一系列未知大小的承诺,而且不是很干,那就不太可行了!
我可以这样做吗?
Parse.Promise.when(promises).then(function(responses) {
console.log(responses[0]); // prints 1
console.log(responses[1]); // prints 2
console.log(responses[2]); // prints 3
});
答案 0 :(得分:14)
您可以使用JavaScript的内置特殊变量arguments
,就像这样
Parse.Promise.when(promises).then(function() {
console.log(arguments[0]); // prints 1
console.log(arguments[1]); // prints 2
console.log(arguments[2]); // prints 3
});