我想知道我是否可以在这里获得一些帮助,到目前为止我还不是一个熟练的编码员,但我试图检索函数之外的结果,并且我得到的日志结果是未定义
var pricecrex;
getDataFromAPI("https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker?request=[NamePairs=BTC_WAGE]",
true,
function(data){
var resultcrex = JSON.parse(data);
if (resultcrex !== "undefined") {
if (resultcrex) {
var pricecrex = resultcrex.Tickers[0].Last
}
else {
msg.reply("0")
}
}
}
);
console.log(pricecrex);
最佳答案
这是因为 Ajax 请求是异步的。 console.log()
在收到请求的响应之前执行,因此在 pricecrex
中设置值之前执行。所以你得到了未定义
。
var pricecrex;
getDataFromAPI("https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker?request=[NamePairs=BTC_WAGE]",
true, function(data) {
var resultcrex = JSON.parse(data);
if (resultcrex !== "undefined") {
if (resultcrex) {
pricecrex = resultcrex.Tickers[0].Last;
print(pricecrex);
}
else {
msg.reply("0")
}
}
}
);
function print(data) {
console.log(data);
}
关于javascript - 如何在javascript函数之外获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53023994/