函数外面怎么获取函数里面的数值

例如

var arr = [];
function test() {
    .....
    promise.then(function(data) {
        for(var item in items) {
            arr.push(item)
        }
    })
}
console.log(arr)

怎么才能把push到arr返回出来变成全局的,一时想不出来。

阅读 4.3k
2 个回答

异步啊异步。。。arr已经是全局,只是你打印的时机不对而已。。。

var arr = [];
function test() {
    .....
    promise.then(function(data) {
        for(var item in items) {
            arr.push(item)
        }
        console.log(arr)
    })
}

为了获得异步执行的结果,你需要把Promise对象返回出来:

var arr = [];
function test() {
    .....
    return promise.then(function(data) {
        for(var item in items) {
            arr.push(item)
        }
    })
}
test().then(function(){
    console.log(arr)
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题