首页 > 解决方案 > 从 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 }

标签: javascriptasynchronousasync-awaitpromise

解决方案


推荐阅读