Во-первых, я сожалею, что написал вопрос, переведя его с помощью Google переводчика, потому что мой плохой английский.
Сначала посмотрите на код ниже.
const log1 = () => {
setTimeout(() => console.log(1), 0)
}
const log2 = () => {
console.log(2)
}
const start = () => {
log1()
log2()
}
Если я запускаюФункция запуска в приведенном выше коде. Я знаю, что функция, которая выполняет console.log(1)
, ставится в очередь в очередь задач, и console.log(2)
выполняется сначала в стеке вызовов, что приводит к следующему:
2
1
Iхотите изменить порядок выполнения так, чтобы сначала выполнялась console.log(1)
функции log1 и отображались следующие результаты.
1
2
Но я предполагаю, что внутренняя реализация функций log1 и log2 не может бытьмодифицирована. (Для внешней библиотеки и т. Д.)
Поэтому я изменил ее следующим образом.
const start = () => {
log1()
setTimeout(log2, 0)
}
Я изменил функцию запуска, как описано выше, чтобы получить желаемый результат, но я нехочу перегрузить функцию setTimeout.
Я хотел бы узнать более хороший способ поставить задачу в очередь задач без использования функции setTimeout.
Если вы знаете хороший способ, пожалуйста, помогите!
Спасибо!