确实,我记得引擎1.x的时候就不能保证是异步的,还得特殊处理才能保证逻辑的顺序
我这边都是进行二次封装的,类似wx的api支持回调和promise风格,回调风格不一定异步,但是promise则一定异步,然后自行选择保证速度优先,还是保证逻辑顺序优先
可以举个出问题的伪代码示例吗?
let data = { name: 'cocos' };
function logic() {
data = { name: 'logic' };
}
function load(callback) {
if (Math.random() > 0.5) {
setTimeout(callback, 1000);
} else {
callback();
}
}
function Main() {
load(()=>{
console.log(data.name);
})
logic();
}
1赞
我认为这样的使用方式本身就是错误的,引擎容错是做了,但是也会让以后遇到这种情况的人犯了错还不知道
没有问题呀.你的一个接口会告诉用户我可能是同步,可能是异步吗.
如果真有这种接口出来.用户一定会再次封装这个接口变成全异步返回.
我用2.4.10也遇到这个问题,微信小游戏android机上加载慢的不行,直接被制作人鄙视了。突然想起这个帖子,回来挖坟。
一般自己封装加载处理
回头测试一下 感觉我有遇到