比如在代码 https://github.com/linghuccc/multi-call-test/blob/main/src/App.tsx 中, 先完成 action 1,然后再执行 action 2。
在实践中,执行 action 1 的时候, await writeContractAsync 只能保证 startDelay transaction 已经 send 了,而 startDelay 这个 function 在链上执行需要一定时间,await writeContractAsync 并不能保证这个 transaction 已经完成了,所以在执行第二步 doSomething 的时候,有时会出错。
所以我想,如果 useWaitForTransactionReceipt 有类似的 component,就可以 await 它,确定 approve transaction 已经完成了,再执行下一步。