簡體   English   中英

如何將函數內部的變量作為全局變量獲取?

[英]How to get the variables inside a function as a global variables?

我正在獲取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

我的問題是:如何從函數中獲取變量對象?

看來您正在使用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 );
}

在函數外聲明變量,然后在函數內初始化變量

let a;
Function getData(){
a = 20;
}
getData();
console.log(a);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM