async和await
是ES7新产物,在我的理解中,就是为了解决promise中.then回调的使用,把异步方法(写在then里)变成同步
方法.方便了我们写代码
使用如下:必须搭配promise使用
在方法all里,是同步的,
在调用all的外面是异步的,直接输出了5,并不会去等all方法调用玩
在all里的话,会按顺序等下来
function a() {
return new Promise((resove, reject) => {
setTimeout(() => {
console.log('a')
resove('a2')
}, 2000)
})
}
function b() {
return new Promise((resove, reject) => {
setTimeout(() => {
console.log('b')
resove('b2')
}, 1000)
})
}
function c() {
return new Promise((resove, reject) => {
setTimeout(() => {
console.log('c')
resove('c2')
}, 500)
})
}
async function all() {
console.log(1)
var a1 = await a()
console.log(a1)
var b1 = await b()
console.log(b1)
var c1 = await c()
console.log(c1)
}
all()
console.log(5)