,JS和TS项目中使用Promise。教程很多,现学现卖,基本不用额外操作,直接拿来用。至于Laya引擎,很难知道每个版本有什么变化,只能是运气了。如果你在laya项目中使用Promise,你会找不到Promise的定义。这时候需要在tsconfig.json中添加对promise的引用。配置文件改完后,基本是这样::"src","lib":["es5","dom","es2015.promise"]},"exclude":["node_modules"]}好了,没有报错,可以编译了。编译通过后就可以运行了,然后会执行关键字async/await,会报错,内容类似下面这样:__awaiterisnotdefined不用担心,有很多js这个__awaiter在网上定义的文件。复制一份并命名,例如extends.js。先放到项目bin/libs/extends.js下,index.js里,loadLib("libs/extend.js")就可以了,大功告成。这个研究过程虽然不难,但是很不爽,归功于网友们的智慧。恐怕我忘记了这个解决方案,所以特此发布。参考:Layabox-__awaiterisnotdefined和TypeScripterror:ErrorTS2468:Cannotfindglobalvalue'Promise'参考:laya2.0async怎么用呢?下面是extends.js的内容var__awaiter=(this&&this.__awaiter)||function(thisArg,_arguments,P,generator){returnnew(P||(P=Promise))(function(resolve,reject){functionfulfilled(value){try{step(generator.next(value));}catch(e){reject(e);}}functionrejected(value){try{step(generator["throw"](value));}catch(e){reject(e);}}functionstep(result){result.done?resolve(result.value):newP(function(resolve){resolve(result.value);}).then(fulfilled,rejected);}step((generator=generator.apply(thisArg,_arguments||[])).next());});};var__generator=(this&&this.__generator)||function(thisArg,body){var_={label:0,sent:function(){if(t[0]&1)throwt[1];返回t[1];},尝试:[],操作:[]},f,y,t,g;返回g={next:verb(0),"throw":verb(1),"return":verb(2)},typeofSymbol==="function"&&(g[Symbol.iterator]=function(){returnthis;}),G;函数动词(n){返回函数(v){返回步骤([n,v]);};}functionstep(op){if(f)thrownewTypeError("Generatorisalreadyexecuting.");while(_)try{if(f=1,y&&(t=y[op[0]&2?"return":op[0]?"throw":"next"])&&!(t=t.call(y,op[1])).done)返回t;如果(y=0,t)op=[0,t.value];switch(op[0]){案例0:案例1:t=op;休息;案例4:_.label++;返回{值:op[1],完成:false};案例5:_.label++;y=op[1];op=[0];继续;案例7:op=_.ops.pop();_.trys.pop();继续;默认值:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;继续;}if(op[0]===3&&(!t||(op[1]>t[0]&&op[1]
