1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| /**
| * 权重随机
| */
| module.exports = function (tasks, weightTotal) {
| let task;
| let weight = Math.ceil(Math.random() * weightTotal);
|
| for (let i = 0; i < tasks.length; i++) {
| weight -= tasks[i].weight || 0;
| if (weight <= 0) {
| task = tasks[i];
| break;
| }
| }
|
| return task || null;
| };
|
|