/
test.html
89 lines (71 loc) · 1.93 KB
/
test.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="./index.umd.js"></script>
<script type="module">
// import batchTaskAssignment from './index.test.js';
function ajax({sucess,data}){
setTimeout(function(){
for(let i=0; i<data.length; i++){
data[i] = 'sucess'+JSON.stringify(data[i])
}
// console.log(data);
sucess(data);
},100)
}
//setting config
let dispose = batchTaskAssignment({delay:100,unitMaximum:20});
//definition dispose
let task = dispose(function(unitData,resolves){
ajax({
data:unitData,
sucess:function(result){
resolves(result);
},
error(e){
resolves(Array(unitData.length).fill(e));
}
})
})
//definition task
function myTask(lnglat){
return task(lnglat)
}
function test(){
let values = [];
let lengths = [];
let num = 0
for(let i = 0; i<100; ){
let lnglats = [];
for(let j = 0; j< Math.floor(Math.random()*10+1); j++){
let lng = i++;
let lat = i++;
lnglats.push({lng,lat});
num=i;
}
setTimeout(function(){
lengths.push(lnglats.length);
myTask(lnglats).then(function(value){
let oldVal = [];
for(let k=0; k<value.length;k++){
let {lng,lat} = JSON.parse(value[k].replace('sucess',''));
oldVal.push({lng,lat});
if(values[lng])alert('error');
if(values[lat])alert('error');
values[lng] = lng;
values[lat] = lat;
}
if(JSON.stringify(lnglats)!==JSON.stringify(oldVal)) alert('error');
console.log(JSON.stringify(lnglats),value);
});
},Math.random()*1000);
}
console.log(lengths,values,num);
}
test();
</script>
</body>
</html>