我们如何在网络工作者JS中编写window[funcName]()
?
如何访问在脚本的顶层上下文中声明的函数?
答案 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>