我如何正确放置异步/等待

时间:2020-05-02 08:19:55

标签: javascript node.js express async-await pg

我对诺言很陌生,需要一些帮助来理解诺言。 使用lastone()之类的函数将返回一个承诺,即未解决而不是解决。 如果我只想等到问题解决,就可以使用.then(),并将其链接起来。

但是我在里面使用.then()的函数必须是异步(?)。但是随后,我将不得不使下一个函数也调用此异步函数(?),这将导致一连串的异步函数。这似乎不切实际,所以我认为我在某处有疏忽。我该如何使调用异步函数的函数不是异步的,而是使用其结果?。

例如,如何将async / await和.then放在这里?

app.get('/something', (req,res)=>{
      res.status(200).send(otherone());
}

function otherone(){
      dostuff();
      return lastone(); // this functions value should be returned.
}

function lastone(){
      client.query('SELECT stuff FROM Table' , (err, res)=>{
            if (err){
                // Handling some errors 
            } else{
                return res; // return the result
            }
      }
}

0 个答案:

没有答案