Hi @maki_XIE
Temporal guarantees read after write consistency of signal and then query.
If your signal method is blocking might happened that the query runs before the signal returns. Looking at your code, it does not seem to be the case.
Here are some references:
- Propagate exceptions outside workflow - #4 by maxim
- Signalling system - Human driven workflows - #3 by maxim
I hope this helps,
I am pretty sure that Maxim can provide a more detailed explanation here (or correct me if I am wrong).