收藏
回答

小程序使用async函数后开启es6转码后报错

WAService.js:3 thirdScriptError
regeneratorRuntime is not defined;at pages/dome1/dome1 page test function
ReferenceError: regeneratorRuntime is not defined
    at http://127.0.0.1:9973/appservice/pages/dome1/dome1.js:47:50
    at e.test (http://127.0.0.1:9973/appservice/pages/dome1/dome1.js:85:6)
    at e.<anonymous> (http://127.0.0.1:9973/appservice/__dev__/WAService.js:15:4257)
    at e.a (http://127.0.0.1:9973/appservice/__dev__/WAService.js:14:31107)
    at K (http://127.0.0.1:9973/appservice/__dev__/WAService.js:14:25691)
    at Function.<anonymous> (http://127.0.0.1:9973/appservice/__dev__/WAService.js:14:27280)
    at http://127.0.0.1:9973/appservice/__dev__/WAService.js:15:647
    at http://127.0.0.1:9973/appservice/__dev__/WAService.js:6:8176
    at e.(anonymous function) (http://127.0.0.1:9973/appservice/__dev__/WAService.js:3:31751)
    at d (http://127.0.0.1:9973/appservice/appservice:1100:8304)

-----------------------------------------------------------------------------------

   let start = async function () {

     try{

       that.write("start");      

       await sleep(3000)

       that.write("end");

     }catch(err){

       console.log(err)

     }

   }

   start();


最后一次编辑于  2017-12-30  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

6 个回答

  • 林超
    林超
    2017-12-30

    是会有问题的



    2017-12-30
    赞同
    回复
  • 林超
    林超
    2017-12-30

    目前还不支持 async 转码,我们尽快加上

    2017-12-30
    赞同
    回复 5
    • 闹闹不爱闹
      闹闹不爱闹
      05-28

      兄弟,加了吗

      05-28
      回复
    • 林超
      林超
      05-28

      https://developers.weixin.qq.com/miniprogram/dev/devtools/codecompile.html

      05-28
      回复
    • 菲
      07-09回复林超

      我加上这个设置之后还是不行

      "setting": {
              "urlCheck": true,
              "es6": true,
              "postcss": true,
              "minified": true,
              "newFeature": true,
              "nodeModules": false,
              "autoAudits": false,
              "uglifyFileName": true,
              "checkInvalidKey": true,
              "enhance": true
      }

      运行报错:

      sdk uncaught third Error 

       regeneratorRuntime is not defined 

       ReferenceError: regeneratorRuntime is not defined


      07-09
      回复
    • 林超
      林超
      07-09回复

      用最新的版本工具 在设置中打开增强编译试试

      07-09
      回复
    • 菲
      07-11
      用了开发版的开发者工具 现在可以了 谢谢!
      07-11
      回复
  • 戴着枷锁舞蹈
    戴着枷锁舞蹈
    2018-10-11

    已解决!

    小程序开发中由于 es6 至少 ios 9.1 不支持,所以如果已经在项目中使用了较多了es6或必须使用es6,则需要勾选 es6 转 es5,才能解决前述兼容问题。但若有使用 async await 会报 regeneratorRuntime is not defined 错误。解决方法如下:


    1. 下载 facebook 的 regenerator 库

    2. 取 regenerator-master/packages/regenerator-runtime 目录中的 runtime.js 文件放入你的项目中

    3. 在你有使用 async await 的文件前面引入这个 runtime.js 文件即可,引入代码如: const regeneratorRuntime = require('../../utils/runtime.js');


    就这样,解决了!


    2018-10-11
    赞同
    回复
  • 七年
    七年
    2018-01-23

    现在加上了吗

    2018-01-23
    赞同
    回复 1
    • 大煜儿
      大煜儿
      2018-09-18

      加了么?

      2018-09-18
      回复
  • 冬
    2017-12-30

    谢谢

    2017-12-30
    赞同
    回复 1
    • 大煜儿
      大煜儿
      2018-09-18

      你好。怎么解决的?

      2018-09-18
      回复
  • 冬
    2017-12-30

    如果不开启es6转码直接用es6语法去写会有兼容问题吗

    2017-12-30
    赞同
    回复 1
    • 戴着枷锁舞蹈
      戴着枷锁舞蹈
      2018-10-11

      有,至少发现了 ios 9.1 不兼容。

      2018-10-11
      回复