亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

急求?。。。∫苿佣藈ebview javascript timer切到后臺后執行一段時間后自動停了感激不盡

急求?。。?!移動端webview javascript timer切到后臺后執行一段時間后自動停了感激不盡

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

2 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

也許我上面問題描述的不夠清晰,目前問題已初步得出結論。
這個問題是由于,當我們在webview進行雙向視頻的時候,
其實webview其實相當于進入了后臺,華為手機系統默認webview進入后臺5分鐘后全部會被干掉,系統層面做的優化
,web端目前無法解決只能寄托于native層面。
                            
查看完整回答
反對 回復 2019-09-19
?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

用setInterval吧,setTimeout是延遲執行。
setInterval(()=>{
fun()
},5000)
fun(){
//...
}
                            
查看完整回答
反對 回復 2019-09-19
  • 2 回答
  • 0 關注
  • 341 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號