在诺言中
.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
,它将结束循环。
我在做什么错了?
答案 0 :(得分:3)
您编写它的方式已经形成了无限循环,这将使大量itemconfigure
进入浏览器的事件队列。
setTimeout
也将代码放在那里,但是带有“ 3sec plus”延迟提示。
实际上,您告诉浏览器-为我设置无限超时,完成后,请在3秒钟后执行console.log。这不会发生。
您可能应该改用setTimeout