我正在使用PyV8,我得到了这个错误:
#...
File "code\engine\window.py", line 345, in run_script
res = self.js_context.eval(js)
error: Event queue full我确实在一次运行多个东西。我怎样才能绕过这个限制呢?我在任何地方都没有找到任何关于这件事的提法...一次只在.eval()上运行的问题是,我让javascript代码调用python代码,而python代码又回调到javascript代码中……
发布于 2013-06-05 06:11:05
哦,天哪。这只是PyV8在错误中糟糕的错误报告。发生的情况是,我的应用程序使用pygame,在处理它们之前,它发布了太多的pygame事件(因此溢出了它的队列)。我真的希望PyV8能在从javascript代码调用的python代码中显示错误发生的行号……
发布于 2013-06-04 10:13:13
我最终做的是用threading.Lock保护javascript处理的入口点(来自新鲜的python)。已经“在JS上下文中”的require函数绕过了这个锁,而返回到Python和JavaScript中的回调则通过了这个锁。这似乎已经完成了目前的戏法。我想知道这不是PyV8.JSLocker的意义所在,但仅使用那个类作为锁似乎并不能很好地工作……
https://stackoverflow.com/questions/16908496
复制相似问题