Because Array.from is synchronous and cannot immediately know when the async iterable ends. It cannot even immediately collect the appropriate amount of promises because it's unknown how many that would be.
Thank you so much. I looked up the proposal and there are very neat functions.
I just consider that the generator yield promises when it iterate and doesn't care promise statuses on pending, on fullfill or on reject. But it is not goes next yield while actual promise is on pending.