gpt4 book ai didi

javascript - 在服务器端处理 Node 中的异步响应

转载 作者:搜寻专家 更新时间:2023-11-01 00:02:42 24 4
gpt4 key购买 nike

我正在尝试构建一个简单的 Node 服务

  • 处理来自网络客户端的 GET 请求
  • 解析提交的参数
  • 使用这些参数异步查询另一个 REST 服务
  • 将 REST 服务结果返回给原始 GET 请求。

我刚刚开始在 Node 中进行异步编程,一般来说,我很难理解如何在异步调用之间保留范围。

基本上 - 如何通过“req”将 JSON 服务“结果”发送回原始 GET 请求?

我正在使用 Express 和 Request ,路由处理程序如下所示:

exports.list = function(req, res){
var params = req.query;
var queryParam= params.queryParm;

var restURL = "http://some-json-service.com?queryParam=" + queryParam;

var request = require('request');

request(restURL, function (error, response, body) {
if (!error && response.statusCode == 200) {
var result = JSON.parse(body);
// ? How do I send result back to the req?
}
})

最佳答案

您可以按字面意思返回响应,因此在您发表评论的地方您将执行以下操作:

request(restURL, function (error, response, body) {
if (!error && response.statusCode == 200) {
var result = JSON.parse(body);
res(result)
}
})

这种方法的问题是您的客户端请求将等待来自第二个服务的响应,如果必须完成,这很好。请注意您可能造成的延迟。

还要确保在发生错误的情况下您也返回响应。

这看起来很简单,所以如果我没有完全理解您的问题,请告诉我。

干杯。

维托。

关于javascript - 在服务器端处理 Node 中的异步响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17302772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com