[英]While loop not executing inside callback
內在的承諾
.catch((message) => {
console.log(message)
var newUrl = url
chrome.tabs.create({url: newUrl}, function(response) {
console.log(response.status)
status = 'loading'
while (status == 'loading') {
setTimeout(function() {
console.log(response.status)
status = response.status
}, 3000)
}
})
})
我正在嘗試以這樣的方式編寫捕獲內容:它將打開一個新頁面,等待它完成加載,然后獲取新的Cookie
我覺得我正在服用瘋狂葯丸,因為這似乎非常簡單。 但是它永遠不會打印出response.status
我希望它等待每3秒檢查一次response.status
,一旦頁面loaded
完畢,它將結束循環。
我究竟做錯了什么?
您編寫它的方式已經形成了無限循環,這將使大量setTimeout
放入瀏覽器的事件隊列中。
setTimeout
也將代碼放在那里,但是帶有“ 3sec plus”延遲注釋。
實際上,您告訴瀏覽器-為我設置無限超時,完成后,請在3秒鍾后執行console.log。 這不會發生。
您可能應該改用setInterval
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.