我正在编写一个程序,在web-workers中执行任意用户提供的代码。我正在将工作程序代码构造为blob,并将用户提供的代码动态插入其中,然后从该blob实例化该worker。我最初尝试只是从工作者那里评估代码,但不得不切换到这种方法,因为我需要能够看到堆栈跟踪和放大器。错误的行号。作为我的Web工作者的一部分,需要使用importScripts()从CDN和我自己的服务器导入多个脚本。由于我现在需要在每次运行代码时实例化一个新工作器,因此脚本导入在每次运行开始时需要很长时间。有没有办法减少这个时间?可能只为所有未来的工人导入所有必要的脚本一次?或者,脚本内嵌是否有帮助?
谢谢!
答案 0 :(得分:0)
你应该这样做:
new Function("string")
我在测试一些已在此处运行的代码时所做的工作:http://darker.github.io/asteroids/demo-elastic-bounce/
您可以在Web worker运行时编辑该功能。
虽然您可以尝试插入有缺陷的脚本: