I'm currently trying to build an native module with an function that has 2 parameters: a string and a callback. This works well when i just run one async worker at a time but when i HAVE to start 200 at the same time the string parameter is not passed properly.
nodejs code:
const bindingPath = require.resolve(`./build/Release/myBinding`);
const binding = require(bindingPath);
function init(config){
return new Promise((resolve, reject) => {
binding.init(config, (err, response) => {
if(err) reject(err);
else resolve(response);
})
})
}
async function main(){
// .... some code ....
console.log(await init("this works"))
var responses = [];
var promises = [];
for(var i = 0; i < 100; i++){
promises.push(init("this won't work").then((response)=>{
responses.push(response)
}))
}
await Promise.all(promises);
console.log(responses)
}
main();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…