小程序延遲執(zhí)行wx.nextTick
wx.nextTick(function callback)
基礎(chǔ)庫 2.2.3 開始支持,低版本需做兼容處理。
小程序插件:支持,需要小程序基礎(chǔ)庫版本不低于 2.7.1
微信 Windows 版:支持
微信 Mac 版:支持
延遲一部分操作到下一個時間片再執(zhí)行。(類似于 setTimeout)
參數(shù)
function callback
說明
因為自定義組件中的 setData 和 triggerEvent 等接口本身是同步的操作,當這幾個接口被連續(xù)調(diào)用時,都是在一個同步流程中執(zhí)行完的,因此若邏輯不當可能會導(dǎo)致出錯。
一個極端的案例:當父組件的 setData 引發(fā)了子組件的 triggerEvent,進而使得父組件又進行了一次 setData,期間有通過 wx:if 語句對子組件進行卸載,就有可能引發(fā)奇怪的錯誤,所以對于不需要在一個同步流程內(nèi)完成的邏輯,可以使用此接口延遲到下一個時間片再執(zhí)行。
示例代碼
Component({
doSth() {
this.setData({ number: 1 }) // 直接在當前同步流程中執(zhí)行
wx.nextTick(() => {
this.setData({ number: 3 }) // 在當前同步流程結(jié)束后,下一個時間片執(zhí)行
})
this.setData({ number: 2 }) // 直接在當前同步流程中執(zhí)行
}
})
作者:大學(xué)生新聞網(wǎng) 來源:大學(xué)生新聞網(wǎng)
- 小程序開始下拉刷新
- 開始下拉刷新。調(diào)用后觸發(fā)下拉刷新動畫,效果與用戶手動下拉刷新一致。
- 04-06 關(guān)注:0