[求教]在creator中如何使用‘异步函数’

本人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