我正在使用express.js创建代理服务器来处理来自网站的调用,操纵请求,然后请求第三方提供商。我需要等待第三方回复才能回复我的网站,但无法找到让快递等待回复的方法。
我的控制器文件是
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)
}
答案 0 :(得分:0)
改变这个:
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}`)
.pipe(res)
默认情况下,只有在请求返回后才会进行管道处理,因此您不需要on.('finished'