【发布时间】:2018-06-25 15:40:18
【问题描述】:
我想将 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 函数。有什么办法吗?
编辑:在我看来,这不是this question 的重复。请求返回一个值,但它不是我想要返回的值,如上所述。
【问题讨论】:
-
我不这么认为:该函数返回一个值,但实际上不是我希望它返回的值。
标签: javascript node.js scope request-promise