Я приземлился на этот вопрос.На него ответили адекватно, и я думаю, что использование setInterval
, как предложил @Purag, вероятно, лучший подход для получения желаемого функционального поведения.Однако в первоначальном примере кода не учитывалось асинхронное поведение JavaScript.Это часто встречающаяся ошибка, которую я делал сам более чем случайно:).
Так что в качестве примечания я хотел дать другое возможное решение для этого, которое имитирует первоначальную попытку, но на этот раз ДАЕТрассмотрим асинхронность Javascript:
setTimeout(function() {
writeNumber.html("1");
setTimeout(function() {
writeNumber.html("1");
setTimeout(function() {
writeNumber.html("1");
}, 1000);
}, 1000);
}, 1000);
Конечно, это явно ужасный код!
Я дал работающему JSFiddle об этом в мой собственный вопрос SO .Этот код иллюстрирует так называемую пирамиду гибели .И это может быть смягчено с помощью обещаний JavaScript, как показано в ответах на мой вопрос.Требуется некоторая работа, чтобы написать версию WriteNumber()
, которая использует Promises, но затем код может быть переписан на что-то вроде:
writeNumAsync(0)
.then(writeNumAsync)
.then(writeNumAsync)
.then(writeNumAsync);