The analogies damage this article because they feel wrong. For example the "never synchronous" example is more like this:
You order a burger at the cashier window, then go to the pickup window. If the burger is already made, it's already at the pickup window when you get there.
The author wants a special case where if the burger is already made, they hand it to you immediately at the cashier window. This might seem more efficient, but both in the restaurant and in code it makes logic way more complex.
Exactly. If for some reason my promise is immediately fulfilled (e.g. the result was previously memoized), I don't want to provide an alternate codepath to handle the result.
You order a burger at the cashier window, then go to the pickup window. If the burger is already made, it's already at the pickup window when you get there.
The author wants a special case where if the burger is already made, they hand it to you immediately at the cashier window. This might seem more efficient, but both in the restaurant and in code it makes logic way more complex.