Express 等待HTTP响应以解析函数

Express 等待HTTP响应以解析函数,express,callback,es6-promise,requestjs,Express,Callback,Es6 Promise,Requestjs,我正在使用express.js创建一个代理服务器来处理来自网站的呼叫,处理请求,然后向第三方提供商发出请求。我需要等待第三方回复才能回复我的网站,但找不到让express等待回复的方法 我的控制器文件是 const model = require('../models/ticketmaster') const startHour = 'T00:00:00Z' const endHour = 'T23:59:59Z' function getData(req, res) { model({ s

我正在使用express.js创建一个代理服务器来处理来自网站的呼叫,处理请求,然后向第三方提供商发出请求。我需要等待第三方回复才能回复我的网站,但找不到让express等待回复的方法

我的控制器文件是

const model = require('../models/ticketmaster')

const startHour = 'T00:00:00Z'
const endHour = 'T23:59:59Z'

function getData(req, res) {
model({ startDateTime: req.query.startDateTime + startHour, endDateTime: req.query.endDateTime + endHour},res)
res.status(200).send()
}

module.exports = getData;
模型文件是

const request = require('request');
const config = require ('../config.js');

 module.exports = (req, res) => {

 request.get(`${config.ticketmasterApiUrl}&startDateTime=${req.startDateTime}&endDateTime=${req.endDateTime}`)
 .on('finished', (res) => {
        console.log(res.status)
    })
    .pipe(res)
}
更改此项:

request.get(`${config.ticketmasterApiUrl}&startDateTime=${req.startDateTime}&endDateTime=${req.endDateTime}`)
 .on('finished', (res) => {
        console.log(res.status)
    })
    .pipe(res)
致:

默认情况下,它只在请求返回后进行管道传输,因此您不需要启用。('finished'更改此选项:

request.get(`${config.ticketmasterApiUrl}&startDateTime=${req.startDateTime}&endDateTime=${req.endDateTime}`)
 .on('finished', (res) => {
        console.log(res.status)
    })
    .pipe(res)
致:


默认情况下,它只在请求返回后进行管道传输,因此您不需要打开。('finished'

我很困惑。您不需要删除行
res.status(200).send()
?通过这样做,我得到了错误“Unhandled rejection StatusCodeError:400”,这听起来像是承诺的问题,但我在你的代码中没有看到任何承诺,
request
没有使用承诺。我很困惑。你不需要删除行
res.status(200)。send()
?通过这样做,我得到了错误“Unhandled rejection StatusCodeError:400”,这听起来像是承诺的问题,但我在您的代码中没有看到任何承诺,
请求
不使用承诺。