我正在使用AWS Lambda,我想知道是否有办法发出HTTP请求,但不等待响应?发出HTTP请求UDP-like
我只想ping一个远程服务,触发一个事件,但我不在乎该事件触发的逻辑是否失败。至少不是在请求源的第一个服务内。
我正在使用AWS Lambda,我想知道是否有办法发出HTTP请求,但不等待响应?发出HTTP请求UDP-like
我只想ping一个远程服务,触发一个事件,但我不在乎该事件触发的逻辑是否失败。至少不是在请求源的第一个服务内。
Here解释了使用超时。
这是例子:
const request = require('request');
request.get('http://some/url/here', {timeout: 100},() =>{console.log('request sent');});
附:请记住,在nodej中,这些操作是异步的,因此您不必等待答案。
,但如果它的明确的应用程序,你想快速响应前端或thirdparties,所以结帐这个例子:
const request = require('request');
const express = require('express');
const app = express();
app.get('/some/route', (req, res) => {
request.get('http://some/url/here',() =>{});
res.status(202).send('Request accepted');
});
这应该让你得到你想要的。它将在请求发送后立即调用回调(或发生错误)。
function udpHttp (options, cb) {
return require('http')
.request(options)
.on('error', cb)
.end(() => cb(null))
}
在node.js的,没有等待响应,反正它的异步。你的代码的其余部分无论如何都可以自由运行,所以只需发送你的回应并忘记它。当它最终返回时,套接字将被清除。除了发送http请求,然后完成之外,没有什么可做的了。 – jfriend00