Nâng CaoJavaScript iconJavaScript

Generator function là gì? Dùng khi nào?

Generator function dùng function*yield, trả về iterator có thể pause và resume.

Mỗi lần gọi next() thực thi đến yield tiếp theo và trả về {value, done}.

javascript
function* counter() {
  let n = 0;
  while (true) {
    yield n++;
  }
}
const gen = counter();
gen.next(); // { value: 0, done: false }
gen.next(); // { value: 1, done: false }

Dùng để tạo infinite sequences, lazy evaluation, hoặc kiểm soát luồng bất đồng bộ (trước khi có async/await).

Xem toàn bộ JavaScript cùng filter theo level & chủ đề con.

Mở danh sách JavaScript