簡體   English   中英

我可以從Windows 10(UWP)應用程序中的Web Worker調用自定義運行時組件嗎

[英]Can I call a custom runtime component from a web worker in a Windows 10 (UWP) app

我們計划使用JavaScript為Windows 10編寫通用Windows平台應用程序。

我們還需要編寫一些自定義運行時組件,最有可能使用C#。

我知道可以從主UI線程調用自定義運行時組件。 現在的問題是:

Web Worker中可以調用自定義運行時組件嗎?

是否需要一些特殊的配置/設置/ API?

謝謝! 胡安

可以從Web Worker中調用自定義運行時組件?

我做了一個基本的演示。 定制運行時組件對於Web Worker來說效果很好。

我所做的:

  1. 我創建了一個自定義運行時組件,並在基於js的UWP項目中引用了它。 然后我將Class1.cs修改為Example.cs,如下所示:

     public sealed class Example { public static string GetAnswer() { return "This is Answer"; } } 
  2. 在基於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> 
  3. 我在js文件夾下添加了webWorkerDemo.js,它什么都沒做,只是調用了運行時組件的GetAnswer方法和postMessage:

      var str = MyRuntimeComponent.Example.getAnswer(); postMessage(str); 

當應用運行時,在應用中正確顯示“這就是答案”。 因此,在Web Worker中使用自定義運行時組件時應該沒有問題。

這是完整的示例: WinJSSample

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM