我想将在 request-promise 中定义的变量传递给超出范围的变量。我想我可以在请求函数中使用 return 语句传递变量,但请求函数总是返回 http 响应(在本例中为 HTML 输出)。
我的代码:
require('dotenv').config();
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
var request = require('request-promise');
var get = function(arg1, arg2, arg3, arg4) {
request(`https://www.googleapis.com/customsearch/v1?key=${process.env.API_KEY}&cx=${process.env.CX}&q=${arg1}`, async function(err, res, body) {
var obj = JSON.parse(body);
var url = obj.items[0].formattedUrl;
var part = await request(`${url}/staffel-${arg2}/episode-${arg3}`, function(err, res, body) {
const dom = new JSDOM(`${body}`);
var part = dom.window.document.getElementsByClassName(arg4)[0];
return part;
});
console.log(part);
});
};
此外,我想使用 return 语句将输出传递给 get 函数。有什么办法吗?
编辑:从我的角度来看,这不是这个问题的重复。该请求返回一个值,但它不是我想要返回的值,如上所述。