我对诺言很陌生,需要一些帮助来理解诺言。
使用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
}
}
}