Gọi hàm với toán tử await thì hàm đó phải trả về promise

Xin chào,

const showData = async _ => {
      const data = await fetchAPI();
      console.log(data);
}

showData();

Em muốn hỏi nếu chỉ nhìn vào đoạn await fetchAPI() thì khẳng định chắc chắn fetchAPI() sẽ return về một object promise có đúng không? Vì await thay cho then(callback 1 tham số), const data sẽ nhận về value từ resolve("my value") của executor trong promise.

Em cảm ơn

tự kiểm chứng gì đó không phải thú vị hơn sao

2 Likes

Không phải vậy ạ, ý em là nếu fetchAPI em tự viết rồi em tự dùng thì em sẽ cho fetchAPI trả về promise, nhưng khi đọc code của người khác viết hoặc dùng các thư viện npm trên mạng khi mình cần lấy data từ những hàm bất đồng bộ thì nó thường trả về promise mới được dùng await như vậy đúng không anh?

phải đọc document hoặc tự kiểm tra type definition chứ sao lại đoán mò được

trả về promise thì bạn muốn dùng kiểu nào thì tuỳ thôi, dùng then hay await bình thường
còn không phải trả về promise thì có lý do gì để dùng await đâu

6 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?