Mine is a simple flow to be a "status indicator" flashing red for one state, flashing green for the second and animated color changing for the third.
I took a short cut by using only a single resistor in the common leg of the RGB LEDs instead of one resistor in each color leg. This cross-couples the channels a bit, but since there are 3 LEDs it cut my soldering in about half and is "good enough".
I've no way to make any formal tests, but visually the display seems to animate much more smoothly since the upgrade.
There are three function nodes that read the system state to turn off or flash a color or do the ramp up/down algorithm driven by a common periodic inject node which yields three branches to the flow.
My programming style and instincts suggests the switch to async will be a good thing overall. I mistakenly assumed node-red was async initially because the underlying nodejs takes great pains to be async so I naively assumed node-red would be, so I've always assumed parallel branches were async
My more complicated, but straight forward compared to many posted here, flow to control my AI sub-system has worked fine. The dashboard display seems to be working better, especially when viewed on my cellphone.
I have a single camera "live view" to display a selected camera choice of six, ~ 3fps. On my desktop with Chromium its run about 15 hours now without any issues, a Pi4 runs the AI and node-red. I also had two extra views open on my Linux Laptop running Chrome, and on my cellphone running Chrome.
The cellphone view never worked this well before, no connection losses (that didn't recover automatically) including when the phone went to sleep and woke up and when I went out of WiFi range and returned.
The Laptop has had a couple of Aw Snap! stoppages in Chrom that needed a manual refresh to recover. I don't know what is up with this.