1. 需要在微信开发者工具中,点击右上角的详情->本地设置,勾选将JS编译成ES5. 这个相当于启用了babel
  2. 需要在miniprogram\目录中安装npm i -S regenerator,如果之前没有初始化过npm,那还需要提前初始化npm init -y
  3. 可以找一个页面的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

标签: none 阅读量: 806

添加新评论