收藏
回答

请问concat拼接数组对两个数组有要求吗?


我的runningList1&2都是有数组数据的,但不知道为什么就是无法拼接(拼接后数组无数据)。是因为concat对拼接的数组有要求吗?还是我的使用方式不对呢

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

4 个回答

  • .
    .
    2019-12-13

    setdata上面的两个请求还没有返回就执行了setdata,你只有保证上面两个请求返回之后在setdata,不想改代码就加一个settimeout延时赋值就OK了

    2019-12-13
    赞同 2
    回复 4
    • ALEX
      ALEX
      2019-12-13
      请问改代码的话使用promise来做吗
      2019-12-13
      回复
    • .
      .
      2019-12-13回复ALEX
      你不改代码就把setdata放在settimeout里面去赋值,延时1秒左右
      2019-12-13
      回复
    • ALEX
      ALEX
      2019-12-13回复.
      我现在是想改代码
      2019-12-13
      回复
    • .
      .
      2019-12-13回复ALEX
      那就用async 和 await
      2019-12-13
      回复
  • 老张
    老张
    2019-12-13

    在setData之前log一下是起码的调试步骤。

    2019-12-13
    赞同 1
    回复 1
    • ALEX
      ALEX
      2019-12-13
      明白!
      2019-12-13
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-12-13

    xxxx: async function(){

        ...

        var list1 = await foodList.get()

        var list2 = await add_foodList.get()

        list1 = list1.data && list1.data.length ? list1.data : []

        list2 = list2.data && list2.data.length ? list2.data : []

        this.setData({

            runningList: [].concat(list1, list2)

        })

    }

    2019-12-13
    赞同 1
    回复
  • one for all
    one for all
    2019-12-12

    异步问题

    2019-12-12
    赞同 1
    回复 2
    • ALEX
      ALEX
      2019-12-12
      请问林克大大能不能具体一些?
      2019-12-12
      回复
    • one for all
      one for all
      2019-12-13回复ALEX
      代码不是按顺序执行的,ajax没有返回数据的时候,代码可能走到最后一步了,所以没值
      2019-12-13
      回复
登录 后发表内容
问题标签