refresh returns promise

pass the error to reject()