Реальные примеры использования асинхронных итераторов
Я хотел бы знать некоторые возможные примеры использования асинхронных итераторов в реальном мире, часть 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, что делает их повторяемыми. В этом случае я думаю, что их использование очень распространено и легко для понимания.
Любые мысли приветствуются.