cc.loader.loadRes 的完成回调讨论

playAudioId:function (clipUrl = “”, loop = false, volume = 1) {
if(clipUrl == “”){
return;
}
let reId;
cc.loader.loadRes(clipUrl,cc.AudioClip,function (err, clipData) {

        reId = cc.audioEngine.play(clipData, loop, volume);
        return reId;
    });
},

上面是一个方法, 为什么我有return;调用的时候返回是一个underfine呢?在里面打印reId是有值的

你是想拿playAudioId的返回值?如果是建议百度一下js 闭包,异步回调,或者系统的学习一下《21天从入门到放弃》

做个缓存吧,毕竟人家是异步方法,不是你说要就能马上拿到的。