vue data 问题

图片描述

为什么这样子打印不到数据呢??

阅读 3.5k
7 个回答

异步请求,老铁

因为getDate是异步请求,drawMap执行的时候,数据请求还没有完成,所以打印不到,你可以把drawMap当作getDate的回调去执行

this.getDate(this.drawMap)

//this.getDate
getDate(callback){
    ....then(res=>{
        callback && callback()
        //this.drawMap()
    })
}

也可以在getDate中把Promise对象return出去

this.getDate().then(res=>{this.drawMap()})

因为数据都被代理了

第一个 是异步函数, 第二个是同步。 我看着想
例如
var a
setTimeout(() => {a = 2}, 200)
setTimeout(() => {console.log('aa',a)}, 1000)
!(function () {
console.log('a',a)
})()

为什么不把log写在请求里面

老铁,你这问题问题有点尴尬

颇为尴尬,毕竟新手

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题