我正在使用npm请求库并遇到一个问题,如果我在调用请求后调用express的res.send(),则永远不会发送请求。我意识到如果我关闭连接,请求回调就不会被激活,但我甚至都没有看到请求首先被发送。
此代码正在RunKit(以前称为TonicDev)上执行,这是一个在线代码编辑器,允许通过端点执行代码。我在本地计算机上没有看到这个问题,所以看起来它可能与RunKit有关。任何人都对这里发生的事情或我如何解决这个问题有任何想法?
您可以通过以下方式自行执行代码: https://runkit.com/gragland/58056bc6e9d9ed00130c84d5并单击顶部的端点链接。
// Helper to return a RunKit compatible express app (runkit.com/tonic/express-endpoint)
var tonicExpress = require("@runkit/tonic/express-endpoint/1.0.0")
// Provide the exports object to the tonicExpress helper
var app = tonicExpress(module.exports)
var request = require('request')
app.get("/", function(req, res){
var request_number = 9
request({
// To see if request is sent go to: https://requestb.in/1coqbqn1?inspect
url: 'http://requestb.in/1coqbqn1',
method: 'POST',
json: {
request_number: request_number,
message: 'hello'
}
})
// The line below has to be commented out for the above request to be sent
// I don't care about the request callback() firing, I just want the request to be sent
res.send('Done')
})