Consider the following code snippet using async/await:
4 phương ánCó giải thíchDễ
async function fetchData() {
try {
let response = await fetch('https://api.example.com/data');
let data = await response.json();
console.log(data);
} catch (error) {
console.error('Error:', error);
}
}
fetchData();What are the advantages of using async/await in this code?
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng gồm hai ý: "It makes the code easier to read and understand." và "It simplifies error handling with try/catch blocks.". async/await là cú pháp viết trên nền Promise: await tạm dừng hàm async cho tới khi Promise của fetch rồi của response.json() hoàn tất, nên mã đọc tuần tự từ trên xuống như mã đồng bộ thay vì chuỗi .then() lồng nhau; Promise bị từ chối sẽ ném lỗi ngay tại chỗ await và được khối try/catch bắt như ngoại lệ thường. "It ensures the code runs synchronously." sai vì hàm vẫn bất đồng bộ: fetchData() trả về Promise ngay, event loop không bị chặn, chỉ phần thân hàm sau await bị hoãn. "It eliminates the need for callbacks entirely." quá tuyệt đối: await dựa trên Promise mà Promise vẫn đăng ký hàm xử lý bên dưới, và nhiều API kiểu sự kiện hay setTimeout vẫn cần callback; async/await chỉ giảm callback lồng nhau trong mã ta viết.