async,await,promise处理异步
最近在编写一个微服务,使用angular4框架及echarts实现一个产品报告列表页,因为是所有数据是双向绑定,不能确定具体是多少个产品,导致只能使用*ngFor来实现,因此echarts实例化需要绑定的div的id名也是数据绑定实现=>**所以只有等到页面将echarts绑定的div渲染了才能再进行echarts的数据的渲染,但是这些数据都是在同一个接口拿到,同时设置div
·
1.一个最简单的promise,then
new Promise((resolve, reject) => {
setTimeout(() => {
resolve(2 )
}, 2000);
} ).then(res=>{
console.log(res)
})
或者
testFun(){
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(2)
}, 2000);
} )
}
//调用testFun
testFun().then(res=->{
console.log(res)
})
注意:return new promise一定不能放在异步请求里 否则return 不出promise!!!
2.简单的async await 和promise用法
async getNum(){
//跟同步一样的写法
let num=await testFun();
console.log(num);
return num;
}
testFun(){
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(2)
}, 2000);
} )
}
//获取async函数的值
getNum().then(res=>{
console.log(res);
})
注意:1.await必须在async函数里使用。
2. async函数本身返回的就是一个promise,要获取async函数的值得用then
更多推荐
已为社区贡献1条内容
所有评论(0)