Async/await действительно удобны, но я хочу, чтобы противоположность их поведения. Вместо продолжения других функций, если я вручную не попрошу их ждать обещания, я хочу, чтобы функции выполнялись, если я вручную не укажу, что они продолжают работать параллельно.
Например, этот код напечатает 1 3 2
:
function wait(ms) {
return new Promise(r => setTimeout(r, ms));
}
async function a() {
console.log("1");
await wait(5000);
console.log("2");
}
a();
console.log("3");
Я хочу, чтобы он распечатывал 1 2 3
, функция a()
фактически не возвращалась, пока я не ждал 5 секунд и 2 был напечатан. Я делаю расширение, которое я предпочитаю быть легким, поэтому я бы предпочел не использовать сторонние библиотеки.
Есть ли способ сделать это?