Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在IF语句中使用异步函数的返回值_Javascript_Node.js_Function_Asynchronous - Fatal编程技术网

Javascript 在IF语句中使用异步函数的返回值

Javascript 在IF语句中使用异步函数的返回值,javascript,node.js,function,asynchronous,Javascript,Node.js,Function,Asynchronous,NodeJS和JavaScript的新特性 我使用NodeJS进行API调用,以在异步函数中返回一些JSON数据。目前,API调用正在按预期工作,我已经解析了我正在寻找的数据。我遇到的麻烦是将解析后的json数据用作IF语句中的一个条件,这样我就可以继续使用其他脚本和预期函数。为了简化,如果JSON数据是我期望的数据,我编写了一个字符串语句: const fetch=requirenode fetch; var accessToken=承载; var url=; 变量头={ “内容类型”:“应

NodeJS和JavaScript的新特性

我使用NodeJS进行API调用,以在异步函数中返回一些JSON数据。目前,API调用正在按预期工作,我已经解析了我正在寻找的数据。我遇到的麻烦是将解析后的json数据用作IF语句中的一个条件,这样我就可以继续使用其他脚本和预期函数。为了简化,如果JSON数据是我期望的数据,我编写了一个字符串语句:

const fetch=requirenode fetch; var accessToken=承载; var url=; 变量头={ “内容类型”:“应用程序/json”, “接受”:“应用程序/json”, “授权”:accessToken }; const getData=异步url=>{ 试一试{ const response=await fetchurl,{method:Get,headers:headers}; const json=await response.json; console.logjson.status; 返回json.status }捕捉错误{ console.logerror; } }; 让apiStatus=getDataurl; 让激活=激活; 让配置=配置; 如果apiStatus.toString!==激活{ 控制台。logBLAH;
} 您需要等待承诺得到解决,因为现在您将评估一个承诺挂起的对象

您的getData函数很好

let apiStatus = await getData(url);
我认为异步在窗口范围内不起作用,您可以尝试一下。如果这不起作用,那么你只需要等待承诺得到解决

getData(url).then(
   status => {
      if (status.toString() === 'activated'){
         ...
      }
});

使用wait getData或getData.thenapiStatus=>…使用回调。然后完成了这个技巧!我非常感谢你的帮助!