首页 > 解决方案 > 了解异步返回函数(未定义)

问题描述

我在此函数中的 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;
    });
}

标签: javascript

解决方案


推荐阅读