WebWorker with Backbone:“定义未定义”

时间:2014-07-22 10:43:55

标签: javascript backbone.js requirejs web-worker

我在使用骨干的网页中实现了一个webworker。我想在网页开始加载后立即在我的index.html文件中启动webworker。 这是我的index.html的javascript代码:

var w;
startWorker();
function startWorker() {
    alert("new worker");
    if(typeof(Worker) !== "undefined") {
        alert("new worker");
        if(typeof(w) == "undefined") {
            alert("new worker");
            w = new Worker("js/models/worker_prefetch_starred.js");
        }
        w.onmessage = function(event) {
            // Comunication WebWorker <-> Webapp
        };
    }   
}

你可以这样我只是创造了工人并且工作正常。 这是我的worker_prefetch_starred.js webworker的javascript代码:

    define(["underscore", "backbone" ],
    function ($, _) { 
        require('collections/folder_items').starred_items_fetched().then(function(starred_items) {
        _.each(starred_items, function(item) {   
            var linked_item = item.get("item");
            linked_item.isOnWebsql(linked_item);
        });
    });
 });

当我执行代码时,它会抛出我:define is not defined 我该怎么办?

1 个答案:

答案 0 :(得分:0)

您应该在worker_prefetch_starred.js文件中包含

importScripts('require.js');