async用于定义一个异步函数,该函数返回一个Promise。
如果async函数返回的是一个同步的值,这个值将被包装成一个理解resolve的Promise,等同于return Promise.resolve(value)。
await用于一个异步操作之前,表示要“等待”这个异步操作的返回值。await也可以用于一个同步的值。
3.async/await可以说是co模块和生成器函数的语法糖。用更加清晰的语义解决js异步代码。
熟悉co模块的同学应该都知道,co模块是TJ大神写的一个使用生成器函数来解决异步流程的模块,可以看做是生成器函数的执行器。而async/await则是对co模块的升级,内置生成器函数的执行器,不再依赖co模块。同时,async返回的是Promise。
initdata(){
return new Promise((resolve,reject)=>{
let url ='/query/leAsset/leAsset/prices?id='+this.assetinfo['id'];
this.httpService.get(url,null,res=>{
resolve(this.data);
}
})
}
initDctmethod(data){
this.httpService.getDict('ASSET_DCTMETHOD',res=>{
console.log(res)
})
}
async AcessController(){
const data = await this.initdata();
this.initDctmethod(data);
}