【发布时间】:2020-09-11 18:01:42
【问题描述】:
所以我有一些这样的代码
const getAPIData = (symbol, callback) => {
var options = {
url: "https://api.binance.com/api/v3/ticker/price",
method: "GET",
qs: {
symbol
},
};
request(options, (err, res, body) => {
body = JSON.parse(body);
callback(body);
});
};
var isValid = 0;
getAPIData(symbol, (body) => {
console.log(body);
if (body.symbol) {
console.log("yes");
isValid = 1;
} else {
console.log("no");
}
});
执行此回调后,无论结果如何,“isValid”变量仍保持为 0。尽管控制台同时记录了 yes 和 no 。调试程序时,isValid 变量仍然为 0。
console.log 函数如何工作而不将 isValid 设置为 1?就像它只是跳过那条线或者我不确定。请帮帮我!
【问题讨论】:
-
代码中isValid的值是从哪里打印出来的?
-
如果在此函数下有条件权限,它会检查 isValid > 0 (总是被拒绝,因为 isValid 由于某种原因总是为 0。我还在 VSCode 中调试了程序并显示相同
-
将条件放入回调中。
标签: javascript node.js asynchronous callback