与web-worker JS中的window [funcName]()等价的是什么?

时间:2018-04-12 08:38:51

标签: javascript web-worker

我们如何在网络工作者JS中编写window[funcName]()

如何访问在脚本的顶层上下文中声明的函数?

2 个答案:

答案 0 :(得分:1)

Observable.defer(new Callable<ObservableSource<? extends List<Integer>>>() { @Override public ObservableSource<? extends List<Integer>> call() throws Exception { return getResponse(1); } }).subscribeOn(Schedulers.io()) .subscribe(new Consumer<List<Integer>>() { @Override public void accept(List<Integer> integers) throws Exception { Collections.sort(integers); Log.i(TAG, "Data: " + Arrays.toString(integers.toArray())); } }, new Consumer<Throwable>() { @Override public void accept(Throwable throwable) throws Exception { Log.e(TAG, throwable.getMessage()); } }); 内,您可以使用self来引用全局范围(您也可以使用WebWorker(当它指向全局范围时,就像它适用于{{} 1}}):

this

答案 1 :(得分:0)

您无法访问web-workers对象,这实际上是window的目标

  

工作线程可以执行任务而不会干扰用户界面

文档的引用将回答您的问题:

  

工人在另一个不同于全球的环境中运行   当前window。因此,使用self快捷方式获取当前   在Worker中的全局范围(而不是self)将返回错误。

但是你有<!-- ko if: Cars1() === $root.Constants.Cars1.Toyota === $root.Constants.Cars1.Porsche && $root.Constants.Cars1.Maybach --> <-- drop-down menu: Cars2 /drop-down menu--> <!-- /ko --> <!-- ko if: Cars1() === $root.Constants.Cars1.Mazda || $root.Constants.Cars1.Honda --> <-- drop-down menu: Cars2 /drop-down menu--> <!-- /ko --> 对象包含一些内置功能。<​​/ p>