Оновлена версія, awaitа не використання .then().
awaitприпиняє виконання, поки Обіцяння не вирішиться (тобто не має значення). На відміну від використання, .then()ви можете просто зберігати awaitзначення, коли ви виконуєте різні функції, які повертають обіцянки, а виконання продовжується на наступний рядок (це називається "прямий стиль). Це також набагато приємніше дивитися, оскільки це відповідає решті JavaScript, ніж .then()скрізь.
// Example function that returns a Promise that will resolve after 2 seconds
var getGenres = function() {
return new Promise(function(resolve) {
setTimeout(function(){
resolve(['comedy', 'drama', 'action'])
}, 2000);
});
}
// We start an 'async' function to use the 'await' keyword
(async function(){
var result = await getGenres()
console.log('Woo done!', result)
// But the best part is, we can just keep awaiting different stuff, without ugly .then()s
var somethingElse = await getSomethingElse()
var moreThings = await getMoreThings()
})()
Очікування підтримується у всіх поточних браузерах та вузлах
resolve([genre1, genre2, ...]);всередині виконання обіцянки.