Angular 为什么异步函数返回';分区对象';
这个问题有点与我有关。在这里,我们有以下代码:Angular 为什么异步函数返回';分区对象';,angular,typescript,async-await,zone,Angular,Typescript,Async Await,Zone,这个问题有点与我有关。在这里,我们有以下代码: private async createFloor(name) { let newFloorData = { floorName: name, percent: 0, requestSubscription: null, finish: false, deleted: false, }; ... return newFloorDa
private async createFloor(name)
{
let newFloorData = {
floorName: name,
percent: 0,
requestSubscription: null,
finish: false,
deleted: false,
};
...
return newFloorData;
}
public async addFloor(event)
{
let newFloorData = this.createFloor('test name');
debugger;
...
}
在调试器chrome debugger中,当我查看newFloorData
时,我会得到以下信息:
脑区
__区域符号状态:真
__区域\符号\值:{percent:0,requestSubscription:null,finish:false,deleted:false}
原型:对象
但是,如果我在addFloor
功能中添加wait
:
public async addFloor(event)
{
let newFloorData = await this.createFloor('test name');
debugger;
...
}
在调试器中,我只得到createFloor
返回的newFloorData对象(这很直观)
问题:为什么?这种行为背后的机制是什么?Angular使用zone.js修补几乎所有的异步API。 它这样做是为了在发生异步操作时得到通知,然后触发更改检测运行 另见