簡體   English   中英

如何將響應存儲到變量 nodejs 請求模塊中

[英]How to Store an respone into a variable nodejs request module

我正在嘗試存儲請求模塊使用 nodejs 發出的 http 請求的響應,但問題是在請求完成后我無法訪問它更詳細地我們可以在回調后說

我如何添加它

這是我到目前為止所嘗試的

嘗試使用 var 而不是 let 嘗試將其傳遞給函數,以便我以后可以使用它,但沒有運氣

這是我的代碼,任何人都可以幫助 nodejs 新手,這就是為什么這可能是一個菜鳥問題

var request = require('request')
var response

  function sort(body) {
    for (var i = 0; i < body.length; i++) {
      body[i] = body[i].replace("\r", "");
    }
      response = body
      return response
  }

  request.get(
    "https://api.proxyscrape.com/?request=getproxies&proxytype=http&timeout=10000&country=all&ssl=all&anonymity=all",
    (err, res, body) => {
      if (err) {
        return console.log(err);
      }
      body = body.split("\n");
      sort(body);
    }
  );

console.log(response)

在這里,我從這個 api 獲取代理並嘗試將它們存儲在一個稱為響應的變量中

var request = require("request");
var response;

async function sort(body) {
  await body.split("\n");
  response = await body;
  console.log(response); // this console log show you after function process is done. 
  return response;
}

request.get(
  "https://api.proxyscrape.com/?request=getproxies&proxytype=http&timeout=10000&country=all&ssl=all&anonymity=all",
  (err, res, body) => {
    if (err) {
      return console.log(err);
    }

    sort(body);
  }
);

// console.log(response); //This console log runs before the function still on process, so that's why it gives you undefined.
  • 試試這個代碼它工作正常我剛剛測試過。
  • 將控制台日志放在函數中,以便您可以看到結果。
  • 您放置的 console.log 在處理數據之前實際運行,因此這就是您獲得“未定義”的原因。
  • 實際上,您將在 sort 函數完成處理后獲取數據。

暫無
暫無

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

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