AsyncIterator.prototype[Symbol.asyncIterator]()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Phương thức [Symbol.asyncIterator]() của các thực thể AsyncIterator triển khai giao thức async iterable và cho phép các async iterator tích hợp được tiêu thụ bởi hầu hết các cú pháp kỳ vọng async iterable, chẳng hạn như các vòng lặp for await...of. Nó trả về giá trị của this, chính là đối tượng async iterator.

Cú pháp

js
asyncIterator[Symbol.asyncIterator]()

Tham số

Không có.

Giá trị trả về

Giá trị của this, chính là đối tượng async iterator.

Ví dụ

Lặp sử dụng vòng lặp for await...of

Lưu ý rằng bạn hiếm khi cần gọi phương thức này trực tiếp. Sự tồn tại của phương thức [Symbol.asyncIterator]() làm cho tất cả các async iterator tích hợp trở thành async iterable, và các cú pháp lặp như vòng lặp for await...of tự động gọi phương thức này để lấy async iterator để lặp.

js
const asyncIterator = (async function* () {
  yield 1;
  yield 2;
  yield 3;
})();
(async () => {
  for await (const value of asyncIterator) {
    console.log(value);
  }
})();
// In ra: 1, 2, 3

Đặc điểm kỹ thuật

Specification
ECMAScript® 2027 Language Specification
# sec-asynciteratorprototype-asynciterator

Tương thích trình duyệt

Xem thêm