Мне нужно подождать некоторое время внутри функции класса. Я пытался адаптировать Джонас В. ответ: https://jsfiddle.net/5wk2cohe/
const sleep = ms => new Promise(res => setTimeout(res, ms));
class K {
run(n) {
(async function() {
document.body.textContent = n;
await sleep(1000);
})();
}
}
var v = new K();
for (let n = 0; n < 4; n++) {
v.run(n);
}
Но подсчет сразу подсказывает 3. Если я запускаю https://jsfiddle.net/tctxcn9o/
Я вижу счетчик как исключение:
const sleep = ms => new Promise(res => setTimeout(res, ms));
(async function() {
for(let n = 0; n < 4; n++) {
document.body.textContent = n;
await sleep(1000);
}
})();
Что я делаю не так?
[Обновление] Некоторая справка: В моем родном городе очень популярна очень старая программа под названием JavaKara, помогающая учащимся в старших классах учиться кодировать:
Понять, как движется божья коровка, очень полезно для понимания и обнаружения вашей ошибки. Поэтому я пытаюсь подождать некоторое время после каждого шага божьей коровки.