辉先生 很多开发者可能也遇到了这个问题,Laya2.3版本前还可以用,为什么2.4之后就用不了?直接切入主题:Promise 可以用!在这里要特别感谢来自LayaBox交流群群主大佬:“北京_益达~”,以下链接资源均出自这位大佬之手整理,感谢!。2.4及以上的版本使用Promise中的async 和 await 会出现以下现象: 解决方法1:在IDE项目中使用npm命令:npm install tslib 或 npm i ,会构建出该项目本地的node_modules 如下:这样就可以正常运行了。参考资料,Layabox2.3.0如何配置代码编辑器(WebStorm2019):http://blog.asroads.com/post/3f34ea36.html 解决方法2:在tsconfig.js中配置添加lib,promise重点:在 target 为 es5 或 es6 的时候,TypeScript 会有默认的 lib 列表,这在官⽅⽂档中有详细说明。 target 定义为 es2017 是为了⽀持 async 函数,但这个配置没有默认 lib 列表,所以参考官⽅⽂档对 --target es6 使⽤的 lib 列表,补充 es2017 类型库即可。其实就是说,如果 target 不是 es2017 就是不⽀持 async 函数,这样 上⾯的问题的产⽣,已经解决⽅案就显得顺利成章了!参考资料,从 JavaScript 到 TypeScript - 模块化和构建:https://segmentfault.com/a/1190000008996172 Promise异步相关资料:https://segmentfault.com/a/1190000013171493 最后,Promise 并不是引擎提供的方法,所以大家抱怨Laya,说某某引擎比Laya好等等,其实也没啥意义。Laya有些地方确实涉及范围比较多,门槛比较高,希望大家今后能相互帮助,相互学习,共同进步,希望Laya的社区能够有越来越多的开发者贡献自己的知识!!
陆仁毅 还可以把tsconfig-target&module改到esnext,编出来的js总体使用 Babel 工具转换一下。而且现在 Babel 环境包可以说是非常方便的(https://www.babeljs.cn/)