等待承诺解决并做其他事情

时间:2018-06-09 03:28:08

标签: javascript node.js ecmascript-6 promise es6-promise

我有一个功能可以完成两件事需要I / O时间,我希望将其返回第二,但我希望另一件事能在这段时间内处理并快速发送,即使第一件事尚未完成

value=($(curl $URL | jq -r '.[].notes')) 

所以我想主要做一个承诺,执行其他代码然后在这里等待这个承诺解决然后继续。

1 个答案:

答案 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
}