查看 Parse.Promise.when ( https://www.parse.com/docs/js/symbols/Parse.Promise.html#.when ) 的文档,目前有两种指定方法。第一个是用逗号分隔的“when”输入参数,后面是“then”中函数的逗号分隔输入
Parse.Promise.when(p1, p2, p3).then(function(r1, r2, r3) {
console.log(r1); // prints 1
console.log(r2); // prints 2
console.log(r3); // prints 3
});
第二个是“when”的数组输入,后跟“then”中函数的逗号分隔输入。
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”内部的函数,是否有一种简单的方法可以指定无限量的输入,而无需实际输入无限量的输入?换句话说,有没有一种方法可以以简单的方式重现这一点?
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
.
.
.
.
.
∞
});
我尝试使用“arguments”变量,但在这种情况下它不起作用。看来我得一一输入参数r1,r2,r3...∞。有谁知道解决这个问题的方法吗?请帮忙
最佳答案
没有,但会有。
ECMAScript 6 功能 rest parameters它允许您执行此操作:
Parse.Promise.when(promises).then(function(r1, r2, r3, ....rest) {
console.log(r1); // prints 1
console.log(rest); // an array with the rest of the parameters.
});
在 EcmaScript 5 中,您需要使用参数
:
Parse.Promise.when(promises).then(function() {
console.log(arguments[0]); // prints 1
// prints 2 in the first iteration all the way to the last one
for(var i = 1; i < arguments.length; i++){
console.log(arguments[i]);
});
});
关于Javascript:有没有办法为 Parse.Promise.when 指定无限输入参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27521473/