Only set result/error/success if `done` is not already set