在我的应用程序的工厂中有这样一段代码:
upload_and_save: function(model){
var personalInfoUpdated = $q.defer();
if (typeof(model.image) === 'object') {
var file = model.image[0];
if (file.size > MyPersonal.MAX_FILE_SIZE) {
return { $promise: personalInfoUpdated.reject() }; // THAT DOESN'T WORK
} else {
$upload.upload({
url: '/api/profiles/myprofile/edit/',
method: 'PUT',
file: file,
fields: model
}).success(function (data, status, headers, config) {
personalInfoUpdated.resolve(data);
}).error(function (data, status, headers, config){
console.debug('ERROR with file!', data);
personalInfoUpdated.reject(data);
});
return { $promise: personalInfoUpdated.promise };
}
正如您所看到的 - 首先是filesize验证。我想做的是,如果文件太大,立即拒绝文件,但我想我需要对资源进行一些虚假调用,这会导致错误的状态。或许还有其他一些选择?
答案 0 :(得分:0)
致电personalInfoUpdated.reject()
,然后返回personalInfoUpdated.promise
。拒绝功能不会返回承诺。