Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
296 views
in Technique[技术] by (71.8m points)

c++ - Node NAPI Aync Workers aren't receiving the right string

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();

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...