javascript - 长时间运行的 Node REST API 需要很长时间才能响应

标签 javascript node.js reactjs api

我在node.js中有一个Rest API,它需要很多时间来响应,因为它向 vendor vendor 发送请求,一旦响应完全准备好,它就会返回我想要的结果,因为结果正在准备中,它应该能够在前端 react 端显示它。预先感谢您的任何帮助和您的时间

这是我的 Controller

module.exports.search = async (req, res) => {
  try {
    let params = req.query;
    params = _.extend(params, req.body);
    const result = await modules.Hotel.Search.search(req.supplierAuth, params);
    res.json(result);
  } catch (e) {
    global.cli.log('controller:hotels:search:  ', e);
    res.status(500).json({ message: e.message });
  }
};

这是我的前端服务

export const getHotels = (filters, options = {}) => {
  const queryString = new URLSearchParams(options).toString();
  return post(`/api/hotels/search?${queryString}`, filters);
};

最佳答案

最好的解决方案是使用 streamspipe() 结果进入 Express 的 res 对象,类似于 this guy's approach .

您必须修改modules.Hotel.Search.search(....)并使其使用流。

关于javascript - 长时间运行的 Node REST API 需要很长时间才能响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58540684/

相关文章:

javascript - 修改 php 中的 javascript 代码

javascript - ajax、php、mysql 和 javascript 的棘手情况

javascript - 等待 Promise-Angular 2

javascript - 使用 mongoose 中间件验证密码是否错误?

javascript - Babel 显示意外错误,找不到解决方案

javascript - ReactJS - 等待 Action 在 componentDidMount 中完成

javascript - 如何为每个没有唯一 id 的按钮表设置 EventListener?

javascript - Node JS+PostgreSQL : INSERT has more target columns than expressions

node.js - 币安签名错误: "code":-1022 ,"msg" :"Signature for this request is not valid."

javascript - 如何使用chartjs 仅显示偶数值的网格线?