javascript - 从 promise 派生的异步函数内部的变量在返回到全局范围时具有不同的值
问题描述
我不明白为什么查询变量在异步函数中有一个值,该值在全局环境中返回和声明时会发生变化。我想将数据库中的值返回到异步函数之外的全局变量。发生这种情况的逻辑原因是什么。如何从 Promise {1} 中提取整数值。
async function glob(){
var result = await knex.raw('select max(glob) from or');
let query = await result.rows[0].max ;
console.log(query);
return query ;
}
let go = glob();
setTimeout(()=>{console.log(go)},1000);
setTimeout(()=>{console.log(go == 1)},1000);
1
承诺 { 1 }
假
解决方案
推荐阅读
- php - 教义 CASE WHEN
- angular - 通过设置页面跨应用程序更新离子组件视图
- keyboard - puppeteer 在输入类型搜索上按 Enter
- python - 从查询集中获取所有多对多对象的有效方法
- jmeter - 将属性传递给 CSV 数据集配置文件名输入
- c# - 如何以编程方式构建 C# 项目
- android - 未解决的参考:@MusicService
- powershell - 将 PSCustomObject 添加到数组会产生错误,但在 Visual Studio Code 中调试代码时可以正常工作
- python - 加入两个类对象 - Python
- javascript - 如何解析时间'HH:MM:SS'并在Chart.js中每分钟在xAxis上显示步骤