小编Lac*_*lan的帖子

如何将函数传递给JavaScript Web Worker

我想通过一个函数(或函数)传递postMessage()给一个web worker,因为我不能引用常规文件.

为了关闭Web工作者,我将对象URL(从Blob创建)传递给Worker构造函数.然后我传递了一条消息,但到目前为止没有运气在消息中添加功能.

(JSON)消息不能直接包含函数(如此处所述),虽然理论上允许使用importScripts,但到目前为止我还没有在Chrome或Firefox中使用过它.

html文件的正文:

<div id="divText">1234</div>
<script>
    var greeter = function greet(name) {
        return "hello " + name;
    };
    function webWorkerWorker() {
        self.postMessage("started1");
        self.onmessage = function(event) {
            importScripts(event.data.content);
            self.postMessage("importScripts success");
            var result = greeter("john");
            self.postMessage(result);
        };
    }
    var functionBody = mylib.extractFunctionBody(webWorkerWorker);
    var functionBlob = mylib.createBlob([functionBody]);
    var functionUrl = mylib.createObjectURL(functionBlob);

    var functionBody2 = mylib.extractFunctionBody(greeter);
    var functionBlob2 = mylib.createBlob([greeter]);
    var functionUrl2 = mylib.createObjectURL(functionBlob2);

    var worker = new Worker(functionUrl);
    worker.onmessage = function(event) {
        document.getElementById("divText").innerHTML = event.data; …
Run Code Online (Sandbox Code Playgroud)

javascript web-worker

20
推荐指数
2
解决办法
2万
查看次数

为什么我应该使用Git提交消息的编辑器?

我觉得几乎每个人都使用编辑器(Vim,Notepad ++等)来获取Git提交消息.为什么?

我发现键入-m和几个引号很容易,并提供了一种简单的方法来重做提交(按向上箭头).我想在编辑器中进行多行提交消息会更容易,但我有足够的时间说服其他同事写任何消息!

git

12
推荐指数
3
解决办法
4393
查看次数

标签 统计

git ×1

javascript ×1

web-worker ×1