[英]how to return observable from function that has a promise
我有一个承诺的功能。 我希望函数在诺言发生时返回observable。 看我的代码:
public exportAsExcel() : Observable<void>
{
let workbook = new Workbook();
.....
......
workbook.xlsx.writeBuffer().then((data) =>
{
this.doSomething(data);
return of();
});
}
使用from
,这会使您的承诺变为可观察的:
import { from } from 'rxjs';
import { map } from 'rxjs/operators';
// ...
return from(workbook.xlsx.writeBuffer()).pipe(
map(...)
)
return new Observable(obs=>{
let workbook = new Workbook();
.....
......
workbook.xlsx.writeBuffer().then((data) =>
{
this.doSomething(data);
return obs.next(data);
});
})
或使用rxjs from
和map
return from(workbook.xlsx.writeBuffer()).pipe(map(data => {
// process something
return dataTransformed
}))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.