我收到http帖子消息,但是无法在getRawBody
函数之外获取正文。
这是我的代码:
getRawBody(req, function(err, body) {
for (var key in req.queries) {
var value = req.queries[key];
resp.setHeader(key, value);
}
string = params.body = body.toString();
string=querystring.parse(string);
data=string.data;
object=JSON.parse(data);
console.log(object)
resp.send(JSON.stringify(object, null, ' '));
});
console.log(object);
第一个控制台日志输出正确的JSON之类的
{ id: 'ddeklj' }
。
但是第二个控制台日志输出是undefined
。
我的问题是:如何从函数中获取变量对象?
答案 0 :(得分:0)
您似乎正在使用AliCloud函数计算,并试图从http请求中获取正文的值。
AliCloud的函数将主体作为缓冲区发送,您所引用的示例代码有些混乱。 您可以通过以下操作从请求中提取主体:
var getRawBody = require('raw-body');
module.exports.handler = async function (req, resp, context) {
var getBody = await getRawBody(req);
var bodyToString = getBody.toString();
console.log(bodyToString );
}
答案 1 :(得分:-1)
在函数外部声明变量,然后在函数内部初始化
let a;
Function getData(){
a = 20;
}
getData();
console.log(a);