收藏
回答

await 语法在 Promise.resolve 下失败

框架类型 问题类型 终端类型 微信版本 基础库版本
小游戏 Bug 微信iOS客户端 任意版本 2.0.0

不使用 ES6 转 ES5 的情况下, 使用await 语法 有时候会卡住;后来我找到一个能复现此情况的代码片段: https://developers.weixin.qq.com/s/fwP7KJmp7ork

在开发工具中正常输出期望的结果 "await done",在真机上(ios) 则停留在 "second await"。

这是在实际开发过程中遇到的问题,小游戏有时候莫名其妙卡在await处,后来经过分析有可能是此原因。ES6 转ES5 有所限制,没办法项目不好使用,请大佬看看此反馈

回答关注问题邀请回答
收藏

1 个回答

  • Forever
    Forever
    2021-07-12

    小游戏还不支持ES6及以上的JS规范,需要转ES5

    2021-07-12
    有用
    回复 3
    • korall
      korall
      2021-07-12
      啊?我一直使用ES6; 除了这个现象,其它都还正常。因为转ES5时,大于500k会被跳过。嗷 灾难~
      2021-07-12
      回复
    • Forever
      Forever
      2021-07-12回复korall
      单纯用import单纯引入整个文件:import "./some.js" 例如这种写法不转ES5会报错
      2021-07-12
      回复
    • korall
      korall
      2021-07-13回复Forever
      模块间关联依赖使用游戏引擎处理输出成bundle了,其余await/async 等保留,正常运行没有啥问题, 就没再注意——除了提问的这个问题。使用setTimeout 处理这个问题到也能成;感谢回复
      2021-07-13
      回复
登录 后发表内容