Реальные примеры использования асинхронных итераторов - PullRequest
0 голосов
/ 10 сентября 2018

Я хотел бы знать некоторые возможные примеры использования в реальных условиях асинхронных итераторов , часть ECMAScript 2018.

Для читаемых потоков это выглядит полезным, поскольку мы могли бы легко их итерировать, используя новый for await of. На самом деле в Node.js читаемые потоки уже имеют свойство Symbol.asyncIterator, реализованное как экспериментальная функция :

const fs = require('fs');

async function print(readable) {
  readable.setEncoding('utf8');
  let data = '';
  for await (const k of readable) {
    data += k;
  }
  console.log(data);
}

print(fs.createReadStream('file')).catch(console.log);

Но я не мог придумать другие хорошие способы использования.

Что касается синхронных итераторов, у нас есть собственные объекты, такие как Array или Map, которые включают свойство Symbol.iterator начиная с ES2015, что делает их итеративными. В этом случае я думаю, что их использование очень распространено и легко для понимания.

Любые мысли приветствуются.

...