我有一个功能可以完成两件事需要I / O时间,我希望将其返回第二,但我希望另一件事能在这段时间内处理并快速发送,即使第一件事尚未完成
value=($(curl $URL | jq -r '.[].notes'))
所以我想主要做一个承诺,执行其他代码然后在这里等待这个承诺解决然后继续。
答案 0 :(得分:-1)
.then应该在第一次sendmessage电话之后。这将使promise函数与sendmessage并行运行,然后在发送第二条消息之前等待解析
getuser(x){
let username = getUsernameDB(x.id);//takes time to get data it is an async function
sendMessage(x.id,() => {//send message with callback function when it is recived
username.then((usernameVar) => {
sendMessage(usernameVar);//usernameVar is carring the value now
})
});
}
async getUsernameDB(id){
return await this.dataaccess.getUsernameByUserId(id);//this returns new Promise
}