Вам не нужны дополнительные .then( res => res )
, поскольку он просто возвращает тот же объект снова. Кроме того, поскольку вы используете async / await, вы можете удалить .then(...)
и просто await
в результате обещания. Кроме того, мы можем использовать await
только внутри функции async
, поэтому вы можете поместить все свои логи c внутри функции asyn c fn
, например:
const getData = async(id) => {
const res = await fetch(`https://jsonplaceholder.typicode.com/todos/${id}`)
return res.json();
}
async function fn() {
const res_1 = await getData(1)
const res_2 = await getData(res_1.id + 1)
const res_3 = await getData(res_2.id + 1)
const res_4 = await getData(res_3.id + 1)
console.log('res_1.id: ', res_1.id);
console.log('res_4.id: ', res_4.id);
if (res_1.id !== res_4.id) {
console.log("Id's don't match")
} else {
console.log("Id's match")
}
}
fn();
Или, вы также можете использовать для этой цели выражения asyn c с немедленным вызовом, например:
const getData = async(id) => {
const res = await fetch(`https://jsonplaceholder.typicode.com/todos/${id}`)
return res.json();
}
(async function() {
const res_1 = await getData(1)
const res_2 = await getData(res_1.id + 1)
const res_3 = await getData(res_2.id + 1)
const res_4 = await getData(res_3.id + 1)
console.log('res_1.id: ', res_1.id);
console.log('res_4.id: ', res_4.id);
if (res_1.id !== res_4.id) {
console.log("Id's don't match")
} else {
console.log("Id's match")
}
}());