函数发送 200 成功"/>
使用 node js 谷歌云函数发送 200 成功
我正在尝试使用谷歌云函数的“res”参数发送 200 - Success 返回。我不断收到错误消息“TypeError: res.setStatusCode is not a function.”,尽管这应该是对象的一部分。所以我做了下面的事情来确保。
const functions = require('@google-cloud/functions-framework');
functions.cloudEvent('app', (req, res) => {
console.log(typeof res); // "Function"
console.log(Object.keys(res)); // []
console.log(res.statusCode); // undefined
console.log(res.headers); // undefined
console.log(res.body); // undefined
res.setStatusCode(400);
res.send('Success');
});
看起来res实际上是一个函数(不是一个对象)并且没有定义statusCode。这是正确的还是我在这里遗漏了什么?在使用@google-cloud/functions-framework 时如何更改它以发送 200?谢谢。
回答如下:functions-framework
建立在 Express 之上,它们的 req/res 对象包装了 Express 的,所以它应该是 res.status
,而不是 res.setStatusCode
。例子:
functions.cloudEvent('app', (req, res) => {
res.status(200).send('Success');
}
但是不需要手动设置 200,因为这是默认值,所以在这种情况下您可以
res.send('Success')
.
更多推荐
使用 node js 谷歌云函数发送 200 成功
发布评论