在angularjs中强制错误状态

时间:2015-04-23 14:46:21

标签: angularjs

在我的应用程序的工厂中有这样一段代码:

    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验证。我想做的是,如果文件太大,立即拒绝文件,但我想我需要对资源进行一些虚假调用,这会导致错误的状态。或许还有其他一些选择?

1 个答案:

答案 0 :(得分:0)

致电personalInfoUpdated.reject(),然后返回personalInfoUpdated.promise。拒绝功能不会返回承诺。