簡體   English   中英

如何在 function 中發送返回 object

[英]How to send the a return object in function

我正在嘗試創建一個向網站發出請求的 function,並且作為 function 的返回,我想交付由請求創建的 object “BODY”。 但每次我有“對象未定義”返回。

為了提供這個結果,我需要改變什么?

這是代碼:

// ---- Funções --------------------------------------------------------------------------------//
 function consultaCep(cep){ 
   request(`https://viacep.com.br/ws/${cep}/json/`, {json: true}, (err, res2, body) => {
   if(err)  return console.log(`Erro na consulta: ${err}`)
   return body;

  });

 }

 // Rotas ------------------------------------------------------------------------------------//

app.get('/', (req,res)=> {
  x = consultaCep('13085485');
  console.log(x);
  res.end(x);

非常感謝。

有很多方法可以實現這一目標。 您可以使用回調。

您可以將回調傳遞給調用 web 請求的方法,並從該方法中調用該回調:


var consultaCep = function(callback){
  request('https://viacep.com.br/ws/${cep}/json/', function (error, response, body) {

    if (!error && response.statusCode == 200) {
      status = "succeeded";
      callback(null, {status : status});
    } else {
      callback(error);
    }
  })
}


app.get('/', function(req, res){
  consultaCep(function(err, result){
    if(err){
      res.send(500, { error: 'Something went wrong' });
    } else {
      res.send(result);
    }
  });
});

暫無
暫無

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

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