用戶
 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

掃一掃,登錄網站

1

主題

1

帖子

13

積分

新手上路

Rank: 1

積分
13
2019-9-18 16:05:40 hardy19a 新手上路 樓主 1398
[JavaScript] 純文本查看 復制代碼
var that = this;
    wx.getStorage({
        key: 'code',
        success: function (res) {
          var value = res.data
          that.setData({
            code:res.data
          })
        }
    })
    console.log(this.data);
    if(!that.data.code){
      wx.redirectTo({
        url: '/pages/validate/user',
      })
    }
    // 設置頁面標題
    App.setTitle();
    // 設置navbar標題、顏色
    App.setNavigationBar();
    // 獲取首頁數據
    this.getIndexData();

我想讀取緩存里面數據判斷我的跳轉,我目前log出來的時候code是有值的。當時到了判斷。。。。就還是走了跳轉。這是什么原因啊?

分享至 : QQ空間
0 人收藏
異步調用的問題,你用的 getStorage 和 setData 全都是異步的,也就是說,前面的取緩存和setData可能都沒執行完,后面的跳轉已經開始判斷了。

個人采用的辦法是:
1、使用getStorageSync獲取緩存
2、如果要在setData之后就要立即使用數據進行判斷,那么在setData之前加一句:
      that.data.code = value

另外,如果code不用來顯示,就不需要使用setData,使用一個全局變量來存儲也可以。
發新帖
您需要登錄后才可以回帖 登錄 | 立即注冊
致青春APP