<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

        微信小程序—setTimeOut定時(shí)器的問題及解決

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 21:53:23
        文檔

        微信小程序—setTimeOut定時(shí)器的問題及解決

        微信小程序—setTimeOut定時(shí)器的問題及解決:背景 實(shí)驗(yàn)室需要將項(xiàng)目的app搬到微信的小程序上,終于知道為什么程序員是手藝人了,只要有需求,就要想方設(shè)法去填充這種需求,去年是小程序的元年了可以說,去年冬天一個(gè)叫跳一跳的小程序游戲出現(xiàn)在我的微信中,當(dāng)時(shí)就覺得騰訊是真的牛皮。一時(shí)間很多的軟件
        推薦度:
        導(dǎo)讀微信小程序—setTimeOut定時(shí)器的問題及解決:背景 實(shí)驗(yàn)室需要將項(xiàng)目的app搬到微信的小程序上,終于知道為什么程序員是手藝人了,只要有需求,就要想方設(shè)法去填充這種需求,去年是小程序的元年了可以說,去年冬天一個(gè)叫跳一跳的小程序游戲出現(xiàn)在我的微信中,當(dāng)時(shí)就覺得騰訊是真的牛皮。一時(shí)間很多的軟件

        背景

        實(shí)驗(yàn)室需要將項(xiàng)目的app搬到微信的小程序上,終于知道為什么程序員是手藝人了,只要有需求,就要想方設(shè)法去填充這種需求,去年是小程序的元年了可以說,去年冬天一個(gè)叫跳一跳的小程序游戲出現(xiàn)在我的微信中,當(dāng)時(shí)就覺得騰訊是真的牛皮。一時(shí)間很多的軟件小程序版相繼出現(xiàn),各大微信公眾號(hào)也開始關(guān)聯(lián)小程序。小程序相比于app,有著獨(dú)特的優(yōu)勢(shì),其中最大的就是沒有ios和android平臺(tái)之分,但是同時(shí)也有局限,你給我開發(fā)個(gè)小程序王者榮耀試試。

        定時(shí)任務(wù)

        微信小程序API中有兩種定時(shí)任務(wù)

      1. setInterval
      2. setTimeOut
      3. 這兩者都能實(shí)現(xiàn)定時(shí)任務(wù),比如實(shí)現(xiàn)一個(gè)定時(shí)器,但是建議采用后者setTimeOut,理由是前者并不精確。詳細(xì)請(qǐng)參考

        https://www.zhihu.com/question/20479535

        setTimeOut用法

        不多說直接上:

        var timerName = setTimeOut(function() {
        	//循環(huán)代碼
        }, delay)

        這里在循環(huán)代碼處做我們需要循環(huán)處理的邏輯,delay是延遲的毫秒數(shù),5秒 = 5 * 1000,timerName是返回的定時(shí)器名稱,有什么用,因?yàn)橐∠@個(gè)定時(shí)器就需要給需要給出取消的定時(shí)器名稱

        clearTimeOut(timerName)


        我有一個(gè)需求是每五秒獲取一次位置

        startReportHeart() {
         var timerTem = setTimeout(function () {
         that.heartReport();
         }, app.globalConfig.heart_delay)
         // 保存定時(shí)器name
         that.setData({
         timer: timerTem
         })
         },

        heartReport()就是獲取位置信息,這樣的效果是,只執(zhí)行了一次。然后查看了一通資料,發(fā)現(xiàn)這個(gè)setTimeOut只是在delay毫秒之后執(zhí)行代碼,嗦嘎。

        那如何才能循環(huán)執(zhí)行呢?——>遞歸登場(chǎng)

        好吧,我的遞歸就是(錯(cuò)誤代碼)

        startReportHeart() {
         var timerTem = setTimeout(function () {
         that.heartReport();
         }, app.globalConfig.heart_delay)
         // 保存定時(shí)器name
         that.setData({
         timer: timerTem
         })
         })
         that.startReportHeart()
         },

        好像沒有毛病啊,自遞歸調(diào)用,嗯,沒毛病,但是,,,,情況就是,瞬間出現(xiàn)了堆棧溢出。哈哈哈哈哈哈哈。。。。
        分析:

        我在startReportHeart函數(shù)中開啟了一個(gè)timer,5秒后開始執(zhí)行,heartReport獲取位置信息,此時(shí)直接遞歸調(diào)用自己,再開啟一個(gè)timer,我的天,這么愚蠢的代碼,是誰寫的,沒錯(cuò)就是我。手動(dòng)捂臉。

        在知道了原因之后,那么如何才能解決呢?我們需要5秒后在一次執(zhí)行,對(duì)就是這個(gè)需求,那么自然就是在timer中調(diào)用自身啊。笨蛋。

        正確代碼:

        startReportHeart() {
         var timerTem = setTimeout(function () {
         that.heartReport();
         that.startReportHeart()
         }, app.globalConfig.heart_delay)
         // 保存定時(shí)器name
         that.setData({
         timer: timerTem
         })
         },

        就這樣完美。

        總結(jié)

        有的時(shí)候,遇到的坑真的很想打自己一巴掌,但是解決坑的過程,并發(fā)現(xiàn)自己的愚蠢卻是一件非常開心的事呢。這個(gè)過程也是十分的funning呢。

        小程序開發(fā)剛開始一周時(shí)間,是的,一周上手,一點(diǎn)一點(diǎn),現(xiàn)在越來越順手,雖然寫的東西比較low,但是再一次印證了那句話,只有實(shí)踐才是最好的學(xué)習(xí)方式。不要找什么從入門到精通,你會(huì)發(fā)現(xiàn),這些都會(huì)讓你從入門到放棄。

        ,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        微信小程序—setTimeOut定時(shí)器的問題及解決

        微信小程序—setTimeOut定時(shí)器的問題及解決:背景 實(shí)驗(yàn)室需要將項(xiàng)目的app搬到微信的小程序上,終于知道為什么程序員是手藝人了,只要有需求,就要想方設(shè)法去填充這種需求,去年是小程序的元年了可以說,去年冬天一個(gè)叫跳一跳的小程序游戲出現(xiàn)在我的微信中,當(dāng)時(shí)就覺得騰訊是真的牛皮。一時(shí)間很多的軟件
        推薦度:
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久精品国产亚洲av水果派| 亚洲成A人片在线观看WWW| 亚洲av永久无码精品天堂久久 | 亚洲av日韩av不卡在线观看| 9久热精品免费观看视频| 国产亚洲av人片在线观看| 黄页网站免费观看| 亚洲av成人综合网| 国产三级免费观看| 无码专区—VA亚洲V天堂| 七色永久性tv网站免费看| 久久久久久亚洲av成人无码国产| 好紧我太爽了视频免费国产| 日韩免费视频在线观看| 国产午夜亚洲精品不卡电影| 亚洲毛片免费视频| 色偷偷女男人的天堂亚洲网| 91精品啪在线观看国产线免费| 91亚洲自偷手机在线观看| 91嫩草国产在线观看免费| 国产亚洲一区二区三区在线| 99re6在线精品视频免费播放 | 亚洲精品无码不卡在线播放HE| 一级毛片免费毛片一级毛片免费 | 亚洲国产电影av在线网址| 亚洲伦理中文字幕| 国产免费观看网站| 国产成人AV免费观看| 国产国拍精品亚洲AV片| 无码一区二区三区免费| 亚洲一日韩欧美中文字幕在线| 亚洲国产一级在线观看| h视频在线免费看| 亚洲成人激情在线| 在线观看无码的免费网站| 亚洲国产av美女网站| 免费真实播放国产乱子伦| 国产永久免费高清在线| 在线精品亚洲一区二区| 中文字幕亚洲乱码熟女一区二区 | 国产91在线免费|