微信小程序onLaunch執(zhí)行完之后再執(zhí)行onLoad

按照事件順序,小程序初始化時(shí)觸發(fā)App里的onLaunch,后面再執(zhí)行頁(yè)面Page里的onLoad,但是在onLaunch里請(qǐng)求獲取是否有權(quán)限堆生,等待返回值的時(shí)候Page里的onLoad事件就已經(jīng)執(zhí)行了。

//app.js
App({
  onLaunch: function () {
    console.log('onLaunch');
    wx.request({
      url: 'test.php', //僅為示例雷酪,并非真實(shí)的接口地址
      data: {
      },
      success: function(res) {
        console.log('onLaunch-request-success');
        // 將employId賦值給全局變量淑仆,提供給頁(yè)面做判斷
        this.globalData.employId = res.employId;   
      }
    })
  },
  globalData: {
    employId: ''
  }
})
//index.js
//獲取應(yīng)用實(shí)例
const app = getApp()
Page({
  data: {
    bindDisabled: false
  },
  onLoad: function () {
    console.log('onLoad');
    console.log('onLoad app.globalData.employId = ' + app.globalData.employId);
    //判斷是用戶是否綁定了
    if (app.globalData.employId && app.globalData.employId != '') {
      this.setData({
        bindDisabled: true
      });
  }
})

控制臺(tái)打印結(jié)果

onLaunch
onLoad
onLoad app.globalData.employId = 
onLaunch-request-success

現(xiàn)在我們需要在onLaunch請(qǐng)求完之后再執(zhí)行一次Page的onLoad方法。

App({
  onLaunch: function () {
    wx.request({
      url: 'test.php', //僅為示例哥力,并非真實(shí)的接口地址
      data: {
      },
      success: function(res) {
        this.globalData.employId = res.employId;
        //由于這里是網(wǎng)絡(luò)請(qǐng)求蔗怠,可能會(huì)在 Page.onLoad 之后才返回
        // 所以此處加入 callback 以防止這種情況
        if (this.employIdCallback){
           this.employIdCallback(employId);
        }
      }
    })
  },
  globalData: {
    employId: ''
  }
})
//index.js
//獲取應(yīng)用實(shí)例
const app = getApp()

Page({
  data: {
    bindDisabled: false
  },
  onLoad: function () {
    //判斷是用戶是否綁定了
    if (app.globalData.employId && app.globalData.employId != '') {
      this.setData({
        bindDisabled: true
      });
    } else {
      // 由于 getUserInfo 是網(wǎng)絡(luò)請(qǐng)求,可能會(huì)在 Page.onLoad 之后才返回
      // 所以此處加入 callback 以防止這種情況
      app.employIdCallback = employId => {
        if (employId != '') {
          this.setData({
            bindDisabled: true
          });
        }
      }
    }
  }
})

最后執(zhí)行順序
[App] onLaunch -> [Page] onLoad -> [App] onLaunch sucess callback-> [Page] onLoad收據(jù)改變

問(wèn)題:onLaunch運(yùn)行后進(jìn)行異步請(qǐng)求時(shí)省骂,程序不會(huì)停止蟀淮,執(zhí)行onload, 我們希望onLaunch執(zhí)行完后再執(zhí)行onload
想法:
1.不破壞異步操作,照常執(zhí)行
首先:執(zhí)行onlauch钞澳,異步請(qǐng)求怠惶,在請(qǐng)求過(guò)程中,程序不會(huì)停止轧粟,開(kāi)始執(zhí)行onload中代碼:if語(yǔ)句不存在策治,執(zhí)行else語(yǔ)句:增加回調(diào)函數(shù),但是這里的employ是沒(méi)有數(shù)據(jù)的@家鳌通惫!所以不會(huì)修改數(shù)據(jù) bindDisabled,開(kāi)始綁定函數(shù),然后等待onlauch的異步成功混蔼,等待中......,然后onlauch請(qǐng)求成功后履腋,調(diào)用success函數(shù),賦值,并且執(zhí)行回調(diào)函數(shù)employIdCallback遵湖,數(shù)據(jù)時(shí)存在的悔政,所以修改數(shù)據(jù)修改數(shù)據(jù) bindDisabled

原文作者:匆匆那年_海,博客主頁(yè):http://www.reibang.com/u/910c0667c515
95后前端漢子延旧,愛(ài)編程谋国、優(yōu)秀、聰明迁沫、理性芦瘾、沉穩(wěn)、智慧的程序猿一枚集畅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末近弟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子牡整,更是在濱河造成了極大的恐慌藐吮,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逃贝,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡迫摔,警方通過(guò)查閱死者的電腦和手機(jī)沐扳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)句占,“玉大人沪摄,你說(shuō)我怎么就攤上這事∩春妫” “怎么了杨拐?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)擂啥。 經(jīng)常有香客問(wèn)我哄陶,道長(zhǎng),這世上最難降的妖魔是什么哺壶? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任屋吨,我火速辦了婚禮,結(jié)果婚禮上山宾,老公的妹妹穿的比我還像新娘至扰。我一直安慰自己,他們只是感情好资锰,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布敢课。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪直秆。 梳的紋絲不亂的頭發(fā)上濒募,一...
    開(kāi)封第一講書(shū)人閱讀 50,084評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音切厘,去河邊找鬼萨咳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛疫稿,可吹牛的內(nèi)容都是我干的培他。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼遗座,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼舀凛!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起途蒋,我...
    開(kāi)封第一講書(shū)人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤猛遍,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后号坡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體懊烤,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年宽堆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腌紧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡畜隶,死狀恐怖壁肋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情籽慢,我是刑警寧澤浸遗,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站箱亿,受9級(jí)特大地震影響跛锌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜极景,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一察净、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盼樟,春花似錦氢卡、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春筑悴,著一層夾襖步出監(jiān)牢的瞬間们拙,已是汗流浹背冠摄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工刑棵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人志于。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓突勇,卻偏偏與公主長(zhǎng)得像装盯,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子甲馋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容