执行与AngularJS的NG-资源请求的秩序? PT2 [英] Order of executing requests with AngularJS's ng-resource? Pt2

查看:149
本文介绍了执行与AngularJS的NG-资源请求的秩序? PT2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是一个后续问题<一href=\"http://stackoverflow.com/questions/24547120/order-of-executing-requests-with-angularjss-ng-resource\">Part1.

2部分:

books_ctrl.js.coffee

myApp.controller "BooksCtrl", ($scope, Book) ->
  $scope.save = () ->
    if $scope.book.id?
      Book.update($scope.book)
    else
      Book.save($scope.book)
    $scope.book = {}
    $scope.getBooks()

book.js.coffee

myApp.factory "Book", ($resource) ->
  $resource("/books/:id", {id: "@id"}, {update: {method: "PUT"}})

Rails的服务器开发日志

Started GET "/books" for 127.0.0.1 at 2014-07-03 12:53:07 +0200
Processing by BooksController#index as JSON
  Book Load (0.0ms)  SELECT "books".* FROM "books"
Completed 200 OK in 2ms (Views: 2.0ms | ActiveRecord: 0.0ms)


Started POST "/books" for 127.0.0.1 at 2014-07-03 12:53:07 +0200
Processing by BooksController#create as JSON
  Parameters: {"title"=>"Test", "author"=>"Tester", "book"=>{"title"=>"Test", "author"=>"Tester"}}
   (0.0ms)  begin transaction
  SQL (1.0ms)  INSERT INTO "books" ("author", "created_at", "title", "updated_at") VALUES (?, ?, ?, ?)  [["author", "Tester"], ["created_at", "2014-07-03 10:53:07.627400"], ["title", "Test"], ["updated_at", "2014-07-03 10:53:07.627400"]]
   (23.0ms)  commit transaction
Completed 200 OK in 29ms (Views: 1.0ms | ActiveRecord: 24.0ms)

下面是我的问题:AngularJS似乎执行在同一时间的所有请求。在 GET - 请求先于 POST执行这样 - 请求,在我的案件的不良影响。

Here is my problem: AngularJS seems to execute all requests at the same time. That way the GET-Request is executed prior to the POST-Request, an undesirable effect in my case.

我怎么能告诉角度来执行 GET POST 完成后才?

How can I tell Angular to execute the GET only after POST is completed?

推荐答案

您可以这样做:

Book.save($scope.book, $scope.getBooks)

或者

Book.save($scope.book).$promise.then($scope.getBooks)

这篇关于执行与AngularJS的NG-资源请求的秩序? PT2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆