don't block

Avoid blocking when possible. `foreach` will be called when the `Promise` is fulfilled.