欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信小程序變量賦值失敗 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >

微信小程序變量賦值失敗

發(fā)表時間:2020-10-20

發(fā)布人:葵宇科技

瀏覽次數(shù):93

本人一直以來都是C程序員,最近有需求,需要做個微信小程序,其中有不少坎坷。C語言編程和高級語言相比,思維邏輯還是有些不一樣的。例如今天遇到的問題,我在onload函數(shù)中給一個變量賦值,緊接著要使用,但發(fā)現(xiàn)變量依舊是空的,代碼如下:

  
onLoad: function (options) {
    news.limit(5).get({
      success:res=>{
        this.setData({newsList:res.data})
      }
    })

    console.log(this.data.newsList);
    this.setSwiperImg();//這個函數(shù)中用到了newsList變量
    
  }

實際發(fā)現(xiàn)后面日志和setSwiperImg()函數(shù)中用到的newsList都是空的。但是在調(diào)試窗口查看變量是有值的。

其實老鳥可能一眼就看出了上面代碼的問題,我的思維一直固化在C的順序執(zhí)行里面(雖然C也可以做到異步執(zhí)行,但是大多數(shù)時候都是順序執(zhí)行的)。最后想了半天,終于頓悟了:

      success:res=>{
        this.setData({newsList:res.data})
      }

這個應(yīng)該是個回調(diào)函數(shù),在news.limit(5).get執(zhí)行成功后,異步回調(diào)執(zhí)行。所以在時間上是滯后的。在我后面語句使用到newsList變量的時候,回調(diào)還沒執(zhí)行呢。既然想通了,那么立即修改為:

  onLoad: function (options) {
    news.limit(5).get({
      success:res=>{
        this.setData({newsList:res.data})
        console.log(this.data.newsList);
        this.setSwiperImg();
      }
    })
  },

保存,運行,OK!

相關(guān)案例查看更多