Javascript 是否有更干净的方法使用AngularJS验证从CSV文件导入的数据?

Javascript 是否有更干净的方法使用AngularJS验证从CSV文件导入的数据?,javascript,angularjs,validation,csv,angular-ui-router,Javascript,Angularjs,Validation,Csv,Angular Ui Router,我能够从personController.js中的CSV文件创建Person对象列表。我想对这个对象列表进行一些基本验证,然后向用户显示哪些人是有效的,哪些人是无效的(可能在网格中),然后再将他们提交给服务器进行其他验证 目前,我做了如下工作: app.controller('PersonController', ['$scope', '$log', '$modal', 'person', 'personValidation', 'refData', function ($scope, $log

我能够从personController.js中的CSV文件创建Person对象列表。我想对这个对象列表进行一些基本验证,然后向用户显示哪些人是有效的,哪些人是无效的(可能在网格中),然后再将他们提交给服务器进行其他验证

目前,我做了如下工作:

app.controller('PersonController', ['$scope', '$log', '$modal', 'person', 'personValidation', 'refData', function ($scope, $log, $modal, personSvc, personValidationSvc, refDataSvc) {
        $scope.validateImportedPersons = function (data) {
            // data is a list of Persons
            $q.all([
                refDataSvc.getAreaCodes(),
                refDataSvc.getZipCodes()
                // possibly more reference data to retrieve
            ]).then(function(refData) {
                personSvc.validatePerson(refData, data);
            },
            function(error) {
                // TODO: throw some error
            });
        };
}]);

有没有比做$q.all更好的方法?我可以将其移动到UI路由器的解析部分,但是如何构造refData服务,以便可以像常规列表而不是服务一样检索数据?我是否有两组函数,一组用于承诺,将填充服务中的变量并返回承诺,另一组用于返回变量?

您没有在任何地方捕获
refDataSvc
的输出。我可以通过执行refData[0]和refData[1]来引用结果。我的问题是,因为引用数据来自服务器,所以我发出http请求,这意味着我将返回承诺。但是如何编写refData服务以避免使用$q?