emit that returns a promise resolved when all handlers resolve