отклонять и разрешать в Promise выполнять одновременно [дублировать]

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
2
задан Nathan Tuggy 25 December 2014 в 09:10
поделиться

2 ответа

Функциональный объект в JavaScript - это одно. Вызов функции - это другое дело. Вы используете последний, включив круглые скобки после имени функции *, но вам нужен первый, без круглых скобок. Это позволяет setTimeout позже вызвать эту функцию, используя переданный объект. Предполагая, что вам действительно нужно 5 секунд (а не 50 секунд, которые использовал исходный код):

setTimeout(GetUsersNumber, 5000);

* Действительно, любая старая переменная, содержащая объект функции, может быть вызвана так, но для удобства определение функции также определяет имя переменной для нее.

2
ответ дан Nathan Tuggy 19 August 2018 в 12:06
поделиться

setTimeout принимает функцию как параметр. То, что вы делаете, сразу же выполняет функцию и передает возвращаемое значение функции exected. Пропустите GetUsersNumber вместо GetUsersNumber(). () уже выполняет функцию.

setTimeout(GetUsersNumber, 50000);

На боковой ноте:

  • Большинство современных браузеров поддерживают XMLHttpRequest изначально. Таким образом, использование ActiveXObject не требуется.
  • Для старых браузеров условие if в любом случае даст ошибку. Сделайте это: if(window.XMLHttpRequest)
3
ответ дан gp. 19 August 2018 в 12:06
поделиться
Другие вопросы по тегам:

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