Javascript 节点JS HTTPS请求返回
我试图从一个网站获取一个文本,并将文本放入一个变量中。然后我想要一个if语句,如果变量==“something”,那么就使用do函数。现在,这是我的代码,我似乎无法在函数中定义变量。如果我这样做,我就不能在If语句的函数外使用变量Javascript 节点JS HTTPS请求返回,javascript,node.js,Javascript,Node.js,我试图从一个网站获取一个文本,并将文本放入一个变量中。然后我想要一个if语句,如果变量==“something”,那么就使用do函数。现在,这是我的代码,我似乎无法在函数中定义变量。如果我这样做,我就不能在If语句的函数外使用变量 const superagent = require('superagent'); (async function(){ const response = await superagent.get('https://www.google.com') var
const superagent = require('superagent');
(async function(){
const response = await superagent.get('https://www.google.com')
var text = (response.text)
})();
if (text == "something"){
//do something
}
上面的代码返回“文本未定义”有3个问题:
text
之前,您没有等待异步函数完成,因此text
在您执行console.log(text)
text
未在异步调用外部定义,因此在异步调用外部不可见。即使修复了异步调用,它仍然不可见text
(async function(){
const response = await superagent.get('https://www.google.com')
return response.text
})().then(function(text) {
console.log(text);
}
存在其他选项,但无法转义async
函数。任何返回的值都必须在异步
上下文中进行评估,或者按照上面所示的方式使用