JSFiddle - React, Tailwind, and code Playground
JavaScript
// Эта функция Не асинхронная, заблокирует контекст пока не закончит своё выполнение (возвратит результат из return)
function newPromise () {
return new Promise ((resolve) => {
resolve("some result")
})
}
// Эта функция асинхронная, возвратит промис ещё до начала выполнения
async function getResult () {
/*
На следующей строке мы будем ждать результат выполнения промиса "new Promise(...)",
который возвратила нам функция "newPromise()"
*/
let strString = await newPromise() // в переменную упадёт строка "some result"
console.log('strString:', strString)
return strString
}
let strPromise = getResult(); // Возвращает не результат, а промис выполнения функции
strPromise.then(result => {
console.log('strPromise:', result) // Выполниться когда разрешиться промис "strPromise"
});