result.json()
вернет Promise
, который вам нужен для await
.
В настоящее время вы конвертируете Promise
объект, возвращаемый result.json()
, в строку, и это то, что регистрируется в console.
const result = await fetch('https://jsonplaceholder.typicode.com/todos/1');
const data = await result.json();
console.log('8. await: ' + data);
Изменить:
как получить userId
Вы получаете undefined
, потому что вы конвертируете объект, возвращаемый await result.json()
в строку, и когда любой объект преобразуется в строку, вы получаете что-то вроде "[object Object]"
.
Просто не преобразовывайте объект, возвращаемый await result.json()
, в строку и просто обращайтесь к свойству userId
console.log('8. await: ' + (await result.json()).userId);
См. Следующий фрагмент
async function fetchData() {
const result = await fetch('https://jsonplaceholder.typicode.com/todos/1');
const data = await result.json();
console.log(String(data)); // what you are doing
console.log(data); // what you should do
}
fetchData();