#javascript
Показали код из сторонней библиотеки. Какие тонкие моменты могли заставить автора в таймауте поставить время ноль? setTimeout(function () { //todo something }, 0);
Ответы
Ответ 1
Этот способ может понадобиться, если потребуется асинхронное выполнение кода. Например console.log("1"); console.log("2"); console.log("3"); выведет, как и предполагается: 1 2 3 Однако, при добавлении setTimeout получится: 1 3 2 console.log("1"); setTimeout(function() { console.log("2"); }, 0); console.log("3"); // > 1 3 2 Это связано с тем, что выполнение функции откладывается до следующего витка event loop.
Комментариев нет:
Отправить комментарий