所以我明白了Promise<AsyncIterableIterator<T>>
,我需要明白AsyncIterableIterator<T>
如何AsyncIterableIterator<T>
从承诺中解开?
问问题
415 次
1 回答
1
是的,这实际上很简单。我们想自己实现AsyncIterableIterator
接口,每次调用next
我们首先打开Promise
.
function unwrapAsyncIterableIteratorPromise (input) {
return {
next (value) {
return input.then((iterator) => iterator.next(value))
},
[Symbol.asyncIterator] () {
return this
}
}
}
它也与 TypeScript 类型一起在 npm 上:
https://www.npmjs.com/package/unwrap-async-iterable-iterator-promise
于 2018-07-10T16:25:42.643 回答