小编btt*_*btt的帖子

等待几个网络工作者完成

我有一个创建几个webworkers的脚本,这些webworkers执行一些工作并在完成后发送消息.

问题是我需要从所有这些结果中获取结果,然后计算最终解决方案.在其他工作中,他们计算出问题的部分解决方案,主线程使用这些部分解决方案来生成最终答案.

我怎么能等待所有这些线程完成,Javascript中是否有像Java中的invokeAll?

或多或少,我在主线程中的内容:

var data = [];

function createWorker(i) {
    var v = new Worker('js/worker.js');
    v.postMessage(i);
    v.onmessage = function(event){
        data.push(event.data);
    };
}

for(var i = 0; i < 100; i++) {
    createWorker(i);
}

//Wait until all have finished somehow
Run Code Online (Sandbox Code Playgroud)

javascript web-worker

5
推荐指数
2
解决办法
2605
查看次数

从带有加权元素的数组中获取随机元素

我有一系列对象代表我正在努力开发的游戏中的生物.这些对象具有(以及其他)唯一标识符和产生的权重(或概率).

我正在尝试开发一种随机生成生物的算法,但我没有想出一种使用权重的方法(我真的不知道该怎么做).

有人可以帮忙吗?

生物数组的一个例子可能是:

var creatures = [
    {id: 1, weight: 25},
    {id: 2, weight: 15},
    {id: 3, weight: 5},
    {id: 4, weight: 45},
    {id: 5, weight: 10}
]
Run Code Online (Sandbox Code Playgroud)

javascript arrays

0
推荐指数
1
解决办法
2610
查看次数

标签 统计

javascript ×2

arrays ×1

web-worker ×1