問題描述移動端webview切到后臺后,timer五分鐘自動停了我們在做一個業(yè)務(wù)過程中,需要每隔一段時間去輪詢業(yè)務(wù)里面的一個狀態(tài),只要狀態(tài)沒有到,就一直輪詢下去,所以用了settimeout以下補(bǔ)充一點(diǎn)做過的工作注意:這里雖然是輪詢,但是考慮到setInterval不能保證前面執(zhí)行的回調(diào)已經(jīng)執(zhí)行完了,所以選擇用了setTimeout,當(dāng)然出現(xiàn)了這個問題之后我換了setInterval也一樣,程序在輪詢5分鐘后,自動停了補(bǔ)充點(diǎn)業(yè)務(wù)知識我們這個是證券開戶的雙向視頻-視頻見證,就是視頻連線,見證人(券商團(tuán)隊(duì)員工)、開戶人兩者之間的視頻通話,由于這個過程要持續(xù)幾分鐘時間,直到見證人審核通過,在業(yè)務(wù)后臺修改對應(yīng)的狀態(tài),接口一直輪詢到這個狀態(tài)變更才會停止視頻見證用戶一般是手機(jī)app,里面內(nèi)嵌H5頁面見證人是pc//狀態(tài)碼,直到status=1,停止輪詢letstatus=0lettimer=null;functionfun(){//請求接口,判斷是否變化todoif(status==1){clearInterval(timer)todo}if(status==0){//10秒后改變狀態(tài)碼值clearInterval(timer)timer=setTimeout(()=>{fun()},10000)}}問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法目前只出現(xiàn)在華為Mate20手機(jī)中相關(guān)代碼//請把代碼文本粘貼到下方(請勿用圖片代替代碼)//狀態(tài)碼,直到status=1,停止輪詢letstatus=0functionfun(){//請求接口,判斷是否變化if(status==1){clearInterval(timer)}if(status==0){//10秒后改變狀態(tài)碼值clearInterval(timer)lettimer=setTimeout(()=>{fun()},10000)}}你期待的結(jié)果是什么?實(shí)際看到的錯誤信息又是什么?期待的結(jié)果就是,程序一直輪詢下去,直到狀態(tài)改變補(bǔ)充一點(diǎn)測試細(xì)節(jié):假如延遲5秒執(zhí)行,一般會在4分55秒停,就是說會在最后一次輪詢到五分鐘的時候,停止如果延時6秒執(zhí)行,一般會在4分54秒自動停
請各位大佬指點(diǎn)!移動端webview javascript timer切到后臺后執(zhí)行一段時間后自動停了十分感謝
猛跑小豬
2019-08-17 21:10:49