Could we change all `&&` to `||`?
It looks like when there is err, this `async.whilst` stops, but we don't emit error msg?