我遇到了这个问题,我不知道如何处理async方法,因为ngOnChanges不支持async.
你们会做什么来实现这一点?
async当我申请时它不起作用ngOnChanges。返回值为Promise.
@Component({
moduleId: module.id,
selector: 'search',
templateUrl: 'search.template.html'
})
export class Search implments OnChanges {
async queryArray(data: string): Promise<T> {
//sample scripts.
return ....;
}
ngOnChanges(changes: SimpleChanges) {
let query: string = "red";
let result: string[] = [];
await this.queryArray(query).then(resp => result = resp);
}
Run Code Online (Sandbox Code Playgroud)
}
asyncawait等待结果Promisethen因为现在您可以在添加后直接分配结果await代码:
async ngOnChanges(changes: SimpleChanges) {
let query: string = "red";
let result: string[] = [];
result = await this.queryArray(query);
}
Run Code Online (Sandbox Code Playgroud)
另请注意,queryArray不需要标记为,async除非您还想等待该方法中的结果以进行进一步处理。如果它所做的只是创建并返回 Promise,那么就没有必要。
| 归档时间: |
|
| 查看次数: |
5173 次 |
| 最近记录: |