JavaScript: есть ли способ указать бесконечные входные параметры для Parse.Promise.when?
Глядя на документацию для Parse.Promise.when ( https://www.parse.com/docs/js/symbols/Parse.Promise.html), в настоящее время есть два способа указать это. Первый - с разделенными запятыми входными параметрами для "когда", а затем с разделенными запятыми входами для функции в "тогда"
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
});
а второй - с массивом ввода для "когда", за которым следуют разделенные запятыми входы для функции в "тогда".
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
});
Мой вопрос: для функции внутри "тогда" существует ли простой способ указать бесконечное количество входов без необходимости вводить бесконечное количество входов? Другими словами, есть ли способ воспроизвести это простым способом?
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...∞. Кто-нибудь знает способ обойти это? Пожалуйста помоги
1 ответ
Нет, но будет.
ECMAScript 6 имеет параметры отдыха, которые позволяют вам сделать это:
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 вам нужно использовать arguments
:
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]);
});
});