Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 进度计和XPCOM_Javascript_Python_Firefox Addon_Xpcom - Fatal编程技术网

Javascript 进度计和XPCOM

Javascript 进度计和XPCOM,javascript,python,firefox-addon,xpcom,Javascript,Python,Firefox Addon,Xpcom,我正在开发一个Firefox扩展,它使用PyXPCOM来运行一个进程。我想有一个进度表,它在流程开始时显示,并向用户提供反馈 在javascript中,我调用了线程管理器以在Python中运行进程: var threadManager = Components.classes["@mozilla.org/thread-manager;1"].getService(); var background = threadManager.newThread(0); background.dispa

我正在开发一个Firefox扩展,它使用PyXPCOM来运行一个进程。我想有一个进度表,它在流程开始时显示,并向用户提供反馈

在javascript中,我调用了线程管理器以在Python中运行进程:

 var threadManager = Components.classes["@mozilla.org/thread-manager;1"].getService();
 var background = threadManager.newThread(0);
 background.dispatch(obj, background.DISPATCH_NORMAL);
所以我想知道是否有一种方法可以检查线程何时开始工作以及何时结束。这有助于我用javascript控制进度表

如果有人对实施进度表有更好的想法,请让我知道:)


谢谢

您不应该直接从JavaScript创建新线程-这有很多线程安全问题,据我所知,Firefox4中不再提供此功能。替换人员是镀铬工人:。因此,您可以这样创建您的工人:

var worker = new ChromeWorker("script.js");
worker.postMessage(obj);
您还希望接收来自工作人员的消息(例如,进度通知)

当然,员工本身需要通过
postMessage
功能向您发送进度通知,例如:

postMessage({type: "progress", value: done/total*100});

您不应该直接从JavaScript创建新线程——这有很多线程安全问题,据我所知,Firefox4中不再提供此功能。替换人员是镀铬工人:。因此,您可以这样创建您的工人:

var worker = new ChromeWorker("script.js");
worker.postMessage(obj);
您还希望接收来自工作人员的消息(例如,进度通知)

当然,员工本身需要通过
postMessage
功能向您发送进度通知,例如:

postMessage({type: "progress", value: done/total*100});

警报不起作用(因为它不是线程安全的)。除了抛出ing和console.log外,还有其他输出方法吗?@user654628:这是在主线程上运行的代码-因此
alert
确实有效。无论如何,这只是一个示例,与您实际使用的代码不同。alert不起作用(因为它不是线程安全的)。除了抛出ing和console.log外,还有其他输出方法吗?@user654628:这是在主线程上运行的代码-因此
alert
确实有效。不管怎样,这只是一个例子,与您实际使用的代码不同。