06/04/2021, 14:48

Những tính năng mới của ES9 (2018) - Javascript nâng cao

ES9 được release vào năm 2019, phía sau nó là ES8, ES7, ES6, ... Và cũng giống như các phiên bản trước, ngoài những tính năng cũ thì nó còn bổ sung một số tính năn mới như sau. Asynchronous Generators và Iteration Async iterators cũng giống như các iterators, nhưng trong phiên bản này thì nó ...

ES9 được release vào năm 2019, phía sau nó là ES8, ES7, ES6, ... Và cũng giống như các phiên bản trước, ngoài những tính năng cũ thì nó còn bổ sung một số tính năn mới như sau.

Asynchronous Generators và Iteration

Async iterators cũng giống như các iterators, nhưng trong phiên bản này thì nó sẽ trả về một promise, bởi vì tại thời điểm đó iterator sẽ trả về một giá trị không xác định.

Ví dụ:

function asyncIterator() {
  const array = [1, 2];
  return {
    next: function() {
      if (array.length) {
        return Promise.resolve({
          value: array.shift(),
          done: false
        });
      } else {
        return Promise.resolve({
          done: true
        });
      }
    }
  };
}

var iterator = asyncIterator();

(async function() {
    await iterator.next().then(console.log); // { value: 1, done: false }
    await iterator.next().then(console.log); // { value: 2, done: false }
    await iterator.next().then(console.log); // { done: true }
})();

Bài viết vẫn đang cập nhật những tính năng của ES9.

Bùi Văn Nam

27 chủ đề

7090 bài viết

Cùng chủ đề
0