Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么瓶颈.js中的maxConcurrent设置没有';不行?_Javascript_Node.js_Rate Limiting - Fatal编程技术网

Javascript 为什么瓶颈.js中的maxConcurrent设置没有';不行?

Javascript 为什么瓶颈.js中的maxConcurrent设置没有';不行?,javascript,node.js,rate-limiting,Javascript,Node.js,Rate Limiting,我正在使用npm软件包。我的限制器设置如下: const limiter = new Bottleneck({ maxConcurrent: 3, minTime: 100 }); 最多有3个任务同时运行。 但是,我发现任何时候都不会有超过1个任务同时运行 这是我的代码: const Bottleneck = require('bottleneck'); const main = () => { console.log('starting mai

我正在使用npm软件包。我的限制器设置如下:

const limiter = new Bottleneck({
        maxConcurrent: 3,
        minTime: 100
});
最多有3个任务同时运行。 但是,我发现任何时候都不会有超过1个任务同时运行

这是我的代码:

const Bottleneck = require('bottleneck');

const main = () => {
    console.log('starting main');
    const limiter = new Bottleneck({
        maxConcurrent: 3,
        minTime: 100
    });

    const worker = (text, limiterCb) => {
        Promise.resolve()
        .then(() => {
            console.log(`starting ${text}`);
            let res;
            for (let i = 0; i < 10000000000; i++) {
                res++
            }
            console.log(`ending ${text}`);
            limiterCb();
        });
    };

    const limiterCb = res => console.log('limiter finished');

    limiter.submit(worker, 'hello', limiterCb);
    limiter.submit(worker, 'hello', limiterCb);
    limiter.submit(worker, 'hello', limiterCb);
    limiter.submit(worker, 'hello', limiterCb);
}

main();
console.log('exiting')
const瓶颈=需要(“瓶颈”);
常量main=()=>{
log('starting main');
常数限制器=新瓶颈({
马克斯:3,
分钟:100
});
const worker=(文本,limiterCb)=>{
承诺,决心
.然后(()=>{
log(`starting${text}`);
让我们重新来过;
对于(设i=0;i<1000000000;i++){
res++
}
log(`ending${text}`);
limiterCb();
});
};
const limiterCb=res=>console.log('limiter finished');
提交(工人“你好”,limiterCb);
提交(工人“你好”,limiterCb);
提交(工人“你好”,limiterCb);
提交(工人“你好”,limiterCb);
}
main();
console.log('正在退出')
我看到的是,第一个任务开始并完成,然后是第二个任务,以此类推。但由于每个任务需要100毫秒以上的时间才能完成,因此我预计会有多个任务同时运行