如何用rxjs实现async await的功能?
<mat-autocomplete
autoActiveFirstOption
#auto="matAutocomplete"
>
<mat-option
*ngFor="let option of filteredOptions | async"
[value]="option.id"
>
{{option.title}}
</mat-option>
</mat-autocomplete>
createdFiltered() {
const lessonNameControl = this.lessonInfo.get("seriesName");
this.filteredOptions = lessonNameControl.valueChanges.pipe(
startWith(""),
map(value => {
// searchSeries 是一个rxjs请求,这个请求会返回一个数组,但是由于异步原因,并无法获取到这个数组
return this.searchSeries(value);
})
);
}
在这个函数中,我希望this.filteredOptions是一个数组,问题如代码中描述的样子
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
把Observerable转换为Promise就可以用async。但你这个地方没必要用async。
你这里不能用map,应该用flatMap。searchSeries返回一个Observerable来异步获取数值。
rxjs里面有个方法,toPromise()可以实现promise的转换