Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS如何处理异步调用_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS如何处理异步调用

Javascript AngularJS如何处理异步调用,javascript,angularjs,Javascript,Angularjs,当我添加/删除项目并再次从服务器读取todo列表以刷新它时。我发现我会不时遇到这个错误: var todoApp = angular.module('TodoApp', ['ngResource']); todoApp.value('restTodo', 'api/1/todo/:id'); var todoCtrl = todoApp.controller('TodoCtrl', function($scope, $resource, restTodo) { $scope.src =

当我添加/删除项目并再次从服务器读取todo列表以刷新它时。我发现我会不时遇到这个错误:

var todoApp = angular.module('TodoApp', ['ngResource']);
todoApp.value('restTodo', 'api/1/todo/:id');

var todoCtrl = todoApp.controller('TodoCtrl', function($scope, $resource, restTodo) {
    $scope.src = $resource(restTodo);
    //add & refresh
    $scope.src.save({ content: 'hello world', done: false });
    $scope.todos = $scope.src.get();
    //OR
    //delete & refresh
    $scope.src.delete({ id: '1' });
    $scope.todos = $scope.src.get();
});
有人说我可以把
MultipleActiveResultSets=true
转换为connect字符串,但我怀疑它只会隐藏我的问题,因为GET显然试图在DELETE完成其工作之前进行脏读


在基于事件的样式语言中,我将在DELETEComplete()事件之后自然调用GET。然而,我对AngularJS是新手,我不知道这里是怎么做的?请帮助。

我不是专家,但我会将读取的代码放在save的成功回调中。大概是这样的:

System.InvalidOperationException: There is already an open DataReader associated with this Command which must be closed first.

我明白了,下面是如何使用成功回调。非常感谢。我试试看。
var todoApp = angular.module('TodoApp', ['ngResource']);
todoApp.value('restTodo', 'api/1/todo/:id');

var todoCtrl = todoApp.controller('TodoCtrl', function($scope, $resource, restTodo) {
    $scope.src = $resource(restTodo);
    //add & refresh
    $scope.src.save({ content: 'hello world', done: false }, 
      function(data) {
       $scope.todos = $scope.src.get();
    });
});