关于loadDir的问题

  • Creator 版本:

  • 目标平台:

onLoad () {
    this.role = new Role.roleAttribute(this.roleName);
    this.myDragonBone = new dragonBones.ArmatureDisplay;
},
start () {
    let path = this.roleName;
    this.loadDragonBenes(path,'Rider',()=>{
        console.log('complete');
    });
},
loadDragonBenes(path,armatureName,completeCallback) {
    console.log(this.myDragonBone);
    cc.loader.loadResDir(path,function(err,assets){
        console.log(this.myDragonBone);
        //console.log(this.role);
        if (err || assets.length <= 0) {
            return;
        }
        assets.forEach(asset => {
            console.log(asset);
            if (asset instanceof dragonBones.DragonBonesAsset) {
                console.log("hh");
                console.log(this.myDragonBone);
                this.myDragonBone.dragonAsset = asset;
            }
            if (asset instanceof dragonBones.DragonBonesAtlasAsset) {
                this.myDragonBone.dragonAtlasAsset = asset;
            }
        })
    });
    this.myDragonBone.armatureName = armatureName;
    this.myDragonBone.addEventListener(dragonBones.EventObject.COMPLETE,completeCallback);
     
},

因为loadDir是异步方法,导致它在方法域里面还是myDragonBone当作null,有没有什么方法可以解决这个问题吗