Maybe concatMap is what you're looking for? It will process all emitted events from the source observable in a sequential fashion (resembling a queue). In your example if you want to queue emissions from from(signUpWithEmail(email, password)) you'll need to replace map with concatMap.