私は同時性を制限するために喉npmを使用しています。実際に動作しているかどうかテストするにはどうすればいいですか?私のコードのようにうまく動作しますが、どうすればそれが実際に制限されていると確信できますか?javascriptで同時実行制限が機能しているかどうかをテストするにはどうすればよいですか?
これは私のコードです:
const throat = require('throat');
readURLsfromFile().then((urls) => {
Promise.all(urls.map(
throat(1, (url, i) => {
main(urls[i], i, urls.length)
}))
);
})
編集:私はTusharのアイデアを試してみましたが、私はそれを動作させることはできません。多分私は喉を正しく使用していないでしょうか?ここで私がしようとしているコードです:カウンターかの
const throat = require('throat')(1);
var request = require('request');
let counter = 0
throat(() => {
counter++
console.log(counter, 1)
main(1).then(() => --counter)
})
throat(() => {
counter++
console.log(counter, 2)
main(2).then(() => --counter)
})
throat(() => {
counter++
console.log(counter, 3)
main(3).then(() => --counter)
})
function main(i) {
return new Promise((resolve,reject) => {
request("http://google.com", (err, response, html) => {
resolve()
})
})
}
スコープの外側にある変数に実行回数を格納し、 'main'関数を使用して' ++ 'カウンタを実行しているときはいつでも' --'それを実行します。その後、その変数をチェックアウトして、実行中の同時実行数を特定の時間に知ることができます。 –