javascript - 承诺 {} - 异步函数返回等待
问题描述
为什么以下只显示我Promise { <pending> }
const Binance = require('binance-api-node').default;
const Client = Binance({
apiKey: binanceAPIKey,
apiSecret: binanceAPISecret
});
async function checkBTCAvgPriceLast24h() {
return await Client.dailyStats({symbol: "BTCEUR"});
}
console.log(checkBTCAvgPriceLast24h());
不应该await
等到解决或拒绝?
解决方案
因为async
函数本身返回 a Promise
,并且您的代码不会等待它解析。
尝试链接您的函数调用,.then()
它应该可以工作。
checkBTCAvgPriceLast24h().then(res => console.log(res));
请参阅下面的代码片段以更好地理解:
const someAsyncTask = () =>
new Promise((res, rej) => {
setTimeout(() => {
res("Here's your data");
}, 1000);
});
async function main() {
return await someAsyncTask();
}
main().then((res) => console.log(res));
推荐阅读
- python - 如何按年级(升序)然后按姓名(降序)对学生数据进行排序?
- c++ - 我在模板化向量类中重载 operator* 时遇到问题
- r - 随机森林回归输出计算
- reactjs - NextJS:指定通用渲染模板
- docker - 如何在 tensorflow 服务器上使用自定义操作
- java - 如何制作动态二维数组并在其中存储混洗数组
- android - 在 Python 中导入 Android 库的 aar
- tcp - 并行服务器 - 生成一个新的每个连接处理程序,还是生成一个新的接受进程更好?(而不是循环)
- linux - 如何在 Windows 环境中将多个 .out 文件合并为一个文件?
- json - TypeScript:如何对类定义进行 JSON 字符串化?