Câu hỏi phỏng vấn Javascript
Câu hỏi

Kết quả data của đoạn code sau là gì? Hãy giải thích tại sao?

Câu trả lời

javascript Copy
  async function getData() {
    return await Promise.resolve("I made it!");
  }

  const data = getData();
  console.log(data);
  • A: "I made it!"
  • B: Promise {<resolved>: "I made it!"}
  • C: Promise {<pending>}
  • D: undefined

Đáp án: C

Một hàm async luôn luôn trả về một promise. await sẽ chờ cho tới khi promise đó được hoàn thành: một pending promise sẽ được trả về khi ta gọi getData() bằng cách gán nó cho biến data.

Nếu ta muốn truy cập giá trị đã hoàn thành của promise, trong trường hợp này là "I made it", ta có thể sử dụng hàm .then() ngay sau data như sau:

data.then(res => console.log(res))

Khi này nó sẽ ghi ra "I made it!"

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Kết quả của vòng lặp sau là gì? Hãy giải thích tại sao?

middle

Javascript là ngôn ngữ pass-by-reference hay pass-by-value không?

middle

Bạn biết những cách nào để lặp qua các thuộc tính đối tượng trong Javascript?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào