Удобность - понятие относительное. Относительно традиционных коллбеков - да, штука классная. Относительно async/await - то еще говно:
//async/await
async function loadUser(id) {
let user;
try {
let response = await fetch(`/api/users/${id}`);
user = response.body;
} catch (error) {
console.error(error);
}
return user;
}
//Promises
function loadUser(id) {
return new Promise((resolve) => {
fetch(`/api/users/${id}`).then((response) => {
return response.body;
}).catch((error) => {
console.log(error);
return undefined;
}).then((user) => {
resolve(user);
});
});
}
И это простейший пример, без нескольких поочередных запросов и без циклов.