This converts a signal into an AsyncIterator. The emissions from the signal will build up, and then released each time next is called. The iterator can be used in a for async
loop. This uses an effect under the hood, so be sure to pass injector if it isn't created in the constructor.