如何处理异步/等待功能"/>
如何处理异步/等待功能
我在这里等待尝试的代码有问题。从用户那里获取输入后,这将从服务器获取一些数据并编辑消息。
如果用户仅提供一个数据,它将很好地工作但是当用户立即提供多个数据时,它只能工作用户提供的最后一个数据,但结果是从用户提供的第一个数据开始。
第二功能x2
的时间从1-59分钟到从服务器获取结果。
我应该如何实现这一点,以便根据结果进行编辑:
async function getData(sig) {
this.sig = sig
this.x = await main()
console.log(" Id is : " + x);
this.x2 = await check(x)
console.log(" result is : " + x2);
this.x3 = await getOldData(sig.msgId)
console.log(" message to be edited is : " + x3);
this.x4 = await editMessage(this.sig.msgId, this.newMessage)
}
回答如下:Well async / await不仅与如何调用这些函数或方法有关,还与它们是否基于承诺的函数有关。您只是在使用this.
;
this.x = await main()
this.x2 = await check(x)
this.x3 = await getOldData(sig.msgId)
this.x4 = await editMessage(this.sig.msgId, this.newMessage)
但是我们不知道他们在做什么。这些功能或方法也必须基于承诺!因此,您可以使用await
关键字并等待它们解析或返回值或错误。
所以我想您的问题与您在getData
函数内部调用的函数有关。
更多推荐
如何处理异步/等待功能
发布评论