【发布时间】:2017-10-22 17:14:12
【问题描述】:
我正在尝试将 rxjs 与 babeljs 结合使用来创建一个异步生成器函数,该函数在调用 next 时产生,在调用 error 时抛出,并在调用 complete 时结束。我遇到的问题是我无法从回调中屈服。
我可以await 一个 Promise 来处理返回/抛出要求。
async function *getData( observable ) {
await new Promise( ( resolve, reject ) => {
observable.subscribe( {
next( data ) {
yield data; // can't yield here
},
error( err ) {
reject( err );
},
complete() {
resolve();
}
} );
} );
}
( async function example() {
for await( const data of getData( foo ) ) {
console.log( 'data received' );
}
console.log( 'done' );
}() );
这可能吗?
【问题讨论】:
标签: rxjs babeljs ecmascript-next reactive