簡體   English   中英

NodeJS,如何從請求調用返回值到主 function?

[英]NodeJS, how to return value from request call to main function?

我編寫了以下代碼。 當數據可用於主viewPage頁面 function 時,如何從request塊返回html

const request = require('request');

let viewPage = (url) => {
    request({url:url,headers:headers,method:'GET'},(error,response,html) => {
        let stockStatus = null;
        if(!error && response.statusCode == 200) {
           //...return html variable from here
        } else {

        }
      });

      return html
}

當我調用result = viewPage(URL)時它返回空/null,因為數據尚未到達。

API 請求調用是異步的,您無需等待它完成。

var rp = require("request-promise");

let viewPage = (url) => {
  return rp({ uri: url, headers: headers, method: "GET" })
    .then(function (html) {
      // Do something or check
      return html;
    })
    .catch(function (err) {
      console.log(err);
      return err;
    });
};

async function some() {
  var result = await viewPage(URL);
}

使用 Axios 得到類似結果。

const axios = require('axios').default;

async function viewPage(url, headers = {}) {
    const response = await axios({
        method: 'get',
        url: url,
        headers: headers
    });
    return response?.data;
}

async function run() {
    const pageData = await viewPage("URL");
    return console.log(pageData);
}

暫無
暫無

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

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