Correctly handle promise reject with no reason