最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何从异步函数值?

IT培训 admin 7浏览 0评论

如何从异步函数值?

我想从我的本地数据库中获取价值,但所有我能得到的是“无极{<待定>}”。这里是我的代码,我在互联网上找到。下面的代码应该返回包含表行的结果对象,但我只得到承诺。

const getFromDB = async() =>{
    return  await pool.query('SELECT * FROM services');
};
回答如下:

一个async函数总是返回一个承诺。这一承诺的决心的那个值在你的函数代码返回。因此,要获得数值超出这一承诺的,您可以使用await.then();

getFromDB().then(val => {
    // got value here
    console.log(val);
}).catch(e => {
    // error
    console.log(e);
});

有在Javascript中没有免费的午餐。异步获得的值只能从一个函数异步(通过回调或承诺或其它类似的异步机制)返回。

或者,如果主叫方本身是一个异步函数,那么你可以使用await

 async function someOtherFunc() {
     try {
         let val = await getFromDb();
         console.log(val);
     } catch(e) {
        // error
        console.log(e);
     }
 }

如何从异步函数值?

我想从我的本地数据库中获取价值,但所有我能得到的是“无极{<待定>}”。这里是我的代码,我在互联网上找到。下面的代码应该返回包含表行的结果对象,但我只得到承诺。

const getFromDB = async() =>{
    return  await pool.query('SELECT * FROM services');
};
回答如下:

一个async函数总是返回一个承诺。这一承诺的决心的那个值在你的函数代码返回。因此,要获得数值超出这一承诺的,您可以使用await.then();

getFromDB().then(val => {
    // got value here
    console.log(val);
}).catch(e => {
    // error
    console.log(e);
});

有在Javascript中没有免费的午餐。异步获得的值只能从一个函数异步(通过回调或承诺或其它类似的异步机制)返回。

或者,如果主叫方本身是一个异步函数,那么你可以使用await

 async function someOtherFunc() {
     try {
         let val = await getFromDb();
         console.log(val);
     } catch(e) {
        // error
        console.log(e);
     }
 }

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论