【发布时间】:2020-03-04 20:38:34
【问题描述】:
NodeJS 和 JavaScript 新手
我正在使用 NodeJS 进行 API 调用以在异步函数中返回一些 JSON 数据。目前,API 调用按预期工作,我已经解析了我正在寻找的数据。我遇到的麻烦是使用解析的 json 数据作为 IF 语句中的条件,这样我就可以继续使用其余的脚本预期功能。同时,为了简化,如果 JSON 数据符合我的预期,我将其编写为显示字符串语句:
const fetch = require("node-fetch");
var accessToken = "Bearer <ACCESS TOKEN>";
var url = '<API ENDPOINT>';
var headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': accessToken
};
const getData = async url => {
try {
const response = await fetch(url, {method: "Get", headers: headers});
const json = await response.json();
console.log(json.status);
return json.status
} catch (error) {
console.log(error);
}
};
let apiStatus = getData(url);
let activated = "ACTIVATED";
let configured = "CONFIGURED";
if (apiStatus.toString() !== activated) {
console.log("BLAH");
}
本质上,如果“json.status”的返回值等于“ACTIVATED”,那么我将执行一个动作。否则,我将执行不同的操作。
目前,我无法将“getData()”的输出用于 IF 条件。任何有关后续步骤的帮助将不胜感激。
【问题讨论】:
-
使用
await getData()或getData().then(apiStatus => …
标签: javascript node.js function asynchronous