我们计划使用JavaScript为Windows 10编写通用Windows平台应用程序。
我们还需要编写一些自定义运行时组件,最有可能用C#编写。
我知道可以从主UI线程调用自定义运行时组件。现在的问题是:
可以从Web Worker中调用自定义运行时组件吗?
是否需要一些特殊的配置/设置/ API?
谢谢!胡安
可以从Web Worker中调用自定义运行时组件吗?
我做了一个基本的演示。定制运行时组件对于Web Worker来说效果很好。
我所做的:
我创建了一个自定义运行时组件,并在基于js的UWP项目中引用了它。然后,将Class1.cs修改为Example.cs,如下所示:
public sealed class Example
{
public static string GetAnswer()
{
return "This is Answer";
}
}
在基于js的UWP项目中,我修改了main.js,如下所示:
// Your code here!
(function () {
"use strict"
var w;
if (typeof Worker !== "undefined")
{
var w = new Worker("ms-appx:///js/webWorkerDemo.js");
w.onmessage = function (evt)
{
document.getElementById("myContent").innerText = evt.data;
w.terminate();
}
}
})();
并将myContent div放在index.html中:
<body>
<div id="myContent"></div>
<script src="js/main.js"></script>
</body>
我在js文件夹下添加了webWorkerDemo.js,它什么都没做,只是调用了运行时组件的GetAnswer方法和postMessage:
var str = MyRuntimeComponent.Example.getAnswer();
postMessage(str);
当应用程序运行时,“ This is Answer”将正确显示在应用程序中。因此,在Web Worker中使用自定义运行时组件时应该没有问题。
这是完整的示例:WinJSSample。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句