如何在不使用setTimeout的情况下在firefox扩展中睡觉?

Mor*_*roy 4 javascript firefox firefox-addon firefox-addon-sdk

我正在尝试打开一个弹出窗口,等待X秒然后关闭弹出窗口.

(用例是向webapp发送通知 - 但我们不能只是执行GET请求,因为它需要在同一个会话中,因此我们可以使用登录会话)

我无法使用,setTimeout因为我们无法在附加组件/扩展中使用它

如何在不诉诸CPU周期的情况下获得类似的功能,这显然会导致明显的延迟?

jsa*_*ell 10

您可以使用SDK提供的计时器模块,而不是nsITimer浏览器中提供的相同类型的setTimeout/setInterval功能

let { setTimeout } = require('sdk/timers');

function openPopup () {}

setTimeout(openPopup, 3000);
Run Code Online (Sandbox Code Playgroud)

  • 绝对是Firefox 29以来的首选. (2认同)