не следует вывода "всегда оборачивайте setTimeout в промисы". И ТЕМ БОЛЕЕ нет ни слова про то, что setTimeout надо принудительно закидывать в очередь микрозадач.
ТЕМ БОЛЕЕ. что queueMicrotask никаких промисов не возвращает и вообще никаких преимуществ для обработки ошибок или ожидания выполнения не дает
ты так воинственно споришь лол. а что плохого, что я обернул таймаут в queueMicrotask? подводные камни? насколько я знаю, благодаря приоритету микротаски, таймаут вызовется как можно точнее по заданному кол-ву мс, или не так?
Нет, не так, наоборот скорее позже. Потому что ты его из одной очереди у другую перетаскиваешь. ХОтя скорее всего заметной разницы не будет
почему не будет, если в очереди макротасков еще интервал, клики мышки, клавиатура?
Да я не спорю воинственно. Ты просто безапелляционно утверждаешь вещи, которые не имеют ничего общего с истиной. Если это оставить в чате и не оспорить, то какой-нибудь новичок посмотрит и у него реально останется впечатление, что так надо делать и это имеет какой-тор смысл. Потом скажет что-то такое на собеседовании и на него как на дурака будут смотреть
Да не будет setTimeout'а никогда в микротаск в твоем примере. В очереди микротаск выполнится функция, которая потом добавит setTimeout в обычную очередь. Проще было его сразу туда положить
тут только одна истина - это спека. если можешь, покажи там то, что я сделал неправильно?
Что ты хочешь в спеке увидеть? Что бесполезные действия бесполезны?
она установится из очереди микротаска, а у нее приоритет
Еще раз. ТЫ в очередь микротаск вставишь функцию () => { setTimeout(() => console.log(1), 1000) } Она выполнится так как ты хочешь. С приоритетом. Выполнится и как обычно закинет этот setTimeout в обычную очередь. И в итоге выполнится функция внутри setTimeout точно также, как если бы ты этого не делал
здесь консоль лог, непонятно зачем ты споришь. я написал, что в рабочем коде бывает необходимо вызвать ф-ии через очередь промисов, чтобы сохранить поочередность, как минимум. но я буду иметь ввиду, что тут полиция бесполезности на страже) постараюсь больше не писать супер-бесполезный код, чтобы тебя не расстраивать. договорились?
Нет, я изначально спросил зачем ты это делаешь. Ты мне пытался ответить, но не смог
да все все, ты победил, успокойся. иначе я звоню копам
Обсуждают сегодня