[英]how to return a value or string from call back function in Nodejs, mongooose
[英]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.