Async iterator destructuring?
# Bruno Macabeus (5 years ago)
But is it not enough to do that?
const [item] = await db.scan({
...
# Bergi (5 years ago)
It might be useful on some occasions to [collect] async iterators [into an array].
No need for destructuring or spreading here. The iterator helpers proposal tc39/proposal-iterator-helpers already
covers these:
return Buffer.concat(await someStream.setEncoding('buffer').toArray())
// It's different for each database
const [item] = await db.scan({
filter: {key: value},
limit: 1,
}).toArray()
kind , Bergi
It might be useful on some occasions to destructure async iterators. For the sake of example, I'm using
await [...]
as the syntax, but I'm by no means married to it.const await [...buffers] = someStream.setEncoding('buffer') return Buffer.concat(buffers)
// It's different for each database const await [item] = db.scan({ filter: {key: value}, limit: 1, })
It's not a common need, but it's useful either way, and it brings async iterators and sync iterators closer to feature parity.