- 需要在
微信开发者工具
中,点击右上角的详情->本地设置
,勾选将JS编译成ES5
. 这个相当于启用了babel
- 需要在
miniprogram\
目录中安装npm i -S regenerator
,如果之前没有初始化过npm,那还需要提前初始化npm init -y
- 可以找一个页面的js文件检验一下:
function f1(){
return new Promise(resolve=>resolve("OK"));
}
async function f2(){
return "OK";
}// 上面的f1和f2其实是等价的. 也就是说async是返回promise对象的函数的语法糖, 是不是写起来短了很多
function f3(){
let r1, r2
f1().then(res=>{
r1 = res
return f2()
}).then(res=>{
r2 = res
console.log(r1,r2)
})
}
async function f4(){
let r1 = await f1()
let r2 = await f2()
console.log(r1,r2)
}// 上面的f3,f4是等价的. 也即是await是then(res=>{return promiseObj})的语法糖, 不但短了, 也不需要每次then的最后一句return 下一个异步promise函数了, 也不需要套好多括号了. 比在不停的return中推进流程看起来要清晰得多
f3() // 打印 OK OK
f4() // 打印 OK OK