收藏
回答

我在onload中发了请求,但是打印data显示数据都是空,展开之后又有数据?

我想打印一下我请求并赋值的数据

打印出来的结果是初始自己定义的数据

但是展开后又有数据

我想取里面的category,但是取不到怎么办呀

回答关注问题邀请回答
收藏

2 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2021-06-17

    同步异步的问题

    onLoad: async function(){
      let that = this
      await that.getDataTabs()
      if(options.categoryId){
        console.log(that.data)
        //...
      }
    },
    getDataTabs: function(){
      return new Promise((rs, rj)=>{
        // 你原来的函数内容
      })
    }
    


    2021-06-17
    有用 1
    回复 2
    • Zeus
      Zeus
      2021-06-17
      感谢,一下就看懂你的意思了,不过他的代码不是用的promise写的,用的new 什么
      所以用async await就报错了
      2021-06-17
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2021-06-17回复Zeus
      开启增强编译
      2021-06-17
      回复
  • 无名
    无名
    2021-06-17

    这是因为obj对象是实时的,当你点击展开后已经其实已经拿到全部的值了。也可以说是同步异步的问题,你拿早了。

    2021-06-17
    有用
    回复 3
    • Zeus
      Zeus
      2021-06-17
      哦哦哦,其实也就是我没有等到赋值就去拿了,还是要用promise,async,await去解决是吧
      2021-06-17
      回复
    • 无名
      无名
      2021-06-17回复Zeus
      对的。promise,async,await这些只是目前流行的方法,也可以在回调中赋值。
      2021-06-17
      回复
    • Zeus
      Zeus
      2021-06-17
      好,谢谢啦
      2021-06-17
      回复
登录 后发表内容