Node如何处理并行IO请求?

需求:

在数据聚合时,需要请求后台不同的API接口。例如得到用户数据,可能是多个服务返回的信息的汇总。

问题:

请问,如何处理这种并行的IO操作?(不限于web请求,数据库操作,文件写入等)特别是数据聚合时,如何判断所有所需的异步IO操作都已经完成?并且将所有异步IO请求结果返回的json汇总?

阅读 1.7k
1 个回答
const getUserAge = id => new Promise(/*your code*/);
const getUserName = id => new Promise(/*your code*/);
const getUserSex = id => new Promise(/*your code*/);

//get all info
let id = 12345;
Promise.all([getUserAge(id),getUserName(id),getUserSex(id)]).then(([age,name,sex]) => {
    const result = {age,name,sex};
    console.log(result);
}).catch(err=>console.log(err));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题