В конечном итоге ваша переменная result
будет включать ответ от выборки, но вы отображаете результат до того, как выборка завершит свой вызов.
Давайте аннотируем заказ:
var result = ''; // 1
var url = 'http://someurl.com/?action=perform-action'; // 2
(async function() {
let a = await fetch(url); // 5
result = await a.text(); // 6
})() // 3
console.log(result); // 4
Если вы переместили свой вызов console.log
в функцию async
после того, как был установлен результат, вы бы достигли своей цели, например:
var result = '';
var url = 'http://someurl.com/?action=perform-action';
(async function() {
let a = await fetch(url)
result = await a.text();
console.log(result);
})()
Если цель состоит в том, чтобы сделать что-то с этим результатом вне асинхронного вызова - как где-то еще в вашей платформе - вам нужно наблюдать за изменениями или вызывать функцию «после результата» (которая может быть внедрена обратный вызов.)
Вот рабочий пример: