回调函数里的变量作为外层函数返回值的问题

学艺不精焦头烂额
代码是多层回调的,例子代码如下

var arr=[];let A = ()=>{    //逻辑处理
     B(function(){
            
            C(function(){                
                 let a = 10;
                 arr.push(a);
            
            })
            
    
    })    return arr

}

期望得到函数c里的arr作为函数A的返回值,但是因为异步的原因,会先执行return语句,返回undefined

 let data = A();

请各位大大不吝赐教


一只名叫tom的猫
浏览 847回答 2
2回答

鸿蒙传说

了解下Promise let A =new Promise((resolve,reject) => {    function B(function(){        resolve();     }) }).then(()=>{function C(function(){                     let a = 10;     arr.push(a);                }) })

POPMUISE

var arr=[];let A = ()=>{    //逻辑处理      return B(function(){                         return C(function(){                                  let a = 10;                  arr.push(a);                 return arr             })                       }) }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Vue.js