已编辑。我需要调用addUser()
来接收从数据库生成的userId
。然后我需要用userId
调用addTicket()
来接收从数据库生成的ticketId
。最后用userId
和ticketId
调用addToBooks
。这些都是post方法,我每次调用只需要返回它们的id
,最后一个post方法将返回完整的数据。有没有一种方法可以处理这个问题,如果过程中有任何一个方法失败,我可以让所有的post方法都失败?我见过promise.all的例子,所有这些都可以做到这一点,但都是为了get方法。
您可以尝试这样的方法,下面是您的函数名称示例:
const getData = async () => {
try {
const userId = await addUser();
if(userId) {
const ticketId = await addTicket(userId);
const response = await addToBooks(userId, ticketId);
return response;
} else {
throw new Error("Error getting data")
}
} catch(error) {
console.log(error);
}
}
这不使用Promise.all
,但根据我的理解,由于您给出的示例只需要userId
来完成其他2个操作,我认为这应该能在中工作