javascript - 了解异步返回函数(未定义)
问题描述
我在此函数中的 return 语句未定义。作为该语言的新手,我对其进行了搜索,发现该函数必须是异步的,以便它返回一个 Promise。
有人可以帮我理解为什么在 console.log(qty) 正常工作之前一切都正常,但在所有这些之前都执行了 return 语句。
此外,在其他地方的变量中获取此函数的结果的有效方法是什么。我尝试了 async/await,它以 Promise 的形式返回结果——我仍然需要阅读如何解析它。
//convert quantity to correct decimals
function binanceNormalizeQuantity(symbol, quantity) {
requestApiData('GET', 'https://api.binance.com/api/v1/exchangeInfo').then((response) => {
response = JSON.parse(response.target.responseText);
var qty;
for (var i = 0; i < response["symbols"].length; i++) {
if (response["symbols"][i]["symbol"] == symbol) {
var stepSize = Math.log10(1 / parseFloat(response["symbols"][i]["filters"][2]["stepSize"]));
qty = Math.floor(quantity * 10**stepSize)/10**stepSize;
}
}
console.log(qty);
return qty;
});
}
解决方案
推荐阅读
- list - Prolog 压缩列表与数量 - 重复的答案
- javascript - 异步函数中的Javascript while循环不是异步的吗?
- javascript - Chrome 扩展:如何将自定义 JS 和 CSS 添加到网站中
- azure - Http 请求失败,因为获取 AD OAuth 令牌时出错:'AADSTS50001:名为 https://management.azure.windows.net 的应用程序
- vue.js - Vue路由器视图事件传播
- pattern-matching - Idris 证明中的案例分析
- linux - 如果文件系统不支持它,我如何执行 CoW 复制但回退到硬喜欢?
- c# - CNTK 输入数据结构例如:CSTrainingCPUOnlyExamples
- fortran - 使用 Fortran omp 并行计算迭代次数以进行索引?
- python - 如何用nan绘制直方图?