Насколько я понимаю, async/await
, await
заставляет JavaScript приостанавливаться до тех пор, пока Promise
не будет разрешен или отклонен, прежде чем он продолжит работу.Учитывая следующий код
function foo(uri) {
… do a bunch of other stuff …
const result = bar(uri);
console.log('step 2 done');
return {"uri": uri, "result": result};
}
function async bar(uri) {
const response = await fetch(uri);
const result = await JSON.parse(response);
console.log('step 1 done');
return result;
}
const result = foo('my/server/resource');
console.log(result);
Я ожидаю
step 1 done
step 2 done
{"uri": 'my/server/resource', "result": { … bunch of data … }}
, но я получаю
step 2 done
{"uri": 'my/server/resource', "result": {}}
step 1 done
Что я делаю не так?