本人js新手一枚,求教在creator js环境中如何使用’异步函数’或者叫‘coroutine’。求详细步骤。谢谢!
1赞
Creator中应该是没有Unity中的coroutine用法。
js没有协程
有没有什么方式替代呢?害怕callback hell
刚接触js和creator一周,网上搜索了这几个关键词promise,generator,yield,await/async,但是一个都没成功,可能是这些功能依赖的库、插件,安装不正确吧。。。求一个能用的异步方案,并带有简单的安装说明。。。谢谢!~
稀里糊涂的找到了解决办法:http://babeljs.io/docs/usage/polyfill/
初步验证await/async可用,native下正常。
onLoad: function () {
function sleep(interval) {
return new Promise((resolve, reject) => setTimeout(resolve, interval));
}
var test1 = async function(){
while(true){
await sleep(2000);
cc.log('timeout in async...');
}
}();/////////////妈妈再也不同担心callbackhell了。
co(function*(){
while(true){
yield sleep(2000);
cc.log('yield in co');
}
});//////////////不可用,暂时还没搞清原理。。。
cc.log('end of onload in sync');
},
6赞
cocos creator如何npm 安装呀
感觉cocos creator的callback hell并不严重。可以不用考虑promise这些东西
用 typescript, 直接可以用 promise
zlm731 的方式可行。
在外面npm install polyfill,然后官方库中找到polyfill.js,导入到ccc中即可

还是TypeScript好用!
JS worker