Я надеюсь, что все, что вы хотите сделать, это обработать некоторые операции в строгом порядке.
Вот почему существует асинхронизация и ожидание в ES6.
Так, например, это может быть так: Aзатем выполните B, затем C или A> B> C
. Как видно, последний метод do3 имеет задержку всего в 500 мс, но он выполняется как последний, а не как первый.Без асинхронных и ожидающих операторов это будет выполнено как первая функция, и это поведение по умолчанию выполнения JavaScriptBroser выполнит код синхронизации первым и асинхронный после.Но не с async и больше ожидаем:)
Вы также должны знать, что если вы добавите префикс string, номер функции с помощью await, то автоматически преобразуется в обещание.
Консоль выведет:
'juraj1'
'juraj2'
'juraj3'
вот простой пример:
function do1() {
return new Promise(resolve => {
return setTimeout(() => resolve("juraj1"), 3000);
});
}
function do2() {
return new Promise(resolve => {
return setTimeout(() => resolve("juraj2"), 2000);
});
}
function do3() {
return new Promise(resolve => {
return setTimeout(() => resolve("juraj3"), 500);
});
}
async function ForceAsynTOBeSync() {
const a = await do1();
console.log(a);
const b = await do2();
console.log(b);
const c = await do3();
console.log(c);
}
ForceAsynTOBeSync();