Динамически связанные / иерархические Обещания

Обратите внимание, что в случае отражения вы получаете NoSuchMethodException, а с неотражающим кодом вы получаете NoSuchMethodError. Я, как правило, смотрю в самых разных местах, когда сталкиваюсь с одним против другого.

0
задан Mojimi 17 January 2019 в 16:53
поделиться

1 ответ

Ты очень близко. У вас просто ошибка в вашем счетчике циклов. Измените это:

for(i=1; i<5; i++){

на это:

for(let i=1; i<5; i++){

С вашим существующим кодом i неявно превращается в глобальный var. Ваш код проходит, настраивая цепочку обещаний. Затем, когда обещания начинают разрешаться, i теперь равно 5, и поэтому все, кроме первого обещания, заканчивают тем, что используют 5 вместо ожидаемого числа.

Если вместо этого вы используете let, то каждый раз через цикл будет новая привязка переменной. Таким образом, каждый вызов MyClass (i) будет видеть свой собственный правильный номер.

0
ответ дан Nicholas Tower 17 January 2019 в 16:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: