簡體   English   中英

屬於歸屬關系的余燼數據中的model.save()計時問題

[英]model.save() timing issue in ember-data with belongsTo relationship

我有兩個模型( sourceproblem ),並且通過UI觸發click時,我正在保存一個與另一個實例相關的實例。

App.SourcesController = Ember.ArrayController.extend
  actions:
    addProblem: (source) ->
      problem = @store.createRecord('problem',
        detectedOn: new Date(),
        source: source
      )
      problem.save().then (problem) ->
          # handle success
        ,(e) ->
          # handle error
      false

我確定在addProblem動作中存在source ,但是當客戶端實際序列化模型並發送請求時,存在detectedOn屬性,但是無法找到source_id

現在,這是有趣的部分。

當我將保存代碼包裝在setTimeoutdetectedOnsource_id都將發送到服務器:

App.SourcesController = Ember.ArrayController.extend
  actions:
    addProblem: (source) ->
      problem = @store.createRecord('problem',
        detectedOn: new Date(),
        source: source
      )
      setTimeout ->
        problem.save().then (problem) ->
            # handle success
          ,(e) ->
            # handle error
        , 1
      false

在我看來,這是Ember周期內的計時問題,還是我錯過了一些東西?

我如何擺脫setTimeout 我不應該在每次保存時都這樣做。

我通過在解決承諾時手動設置逆向關系來解決此問題,以下內容應為您工作:

App.SourcesController = Ember.ArrayController.extend
  actions:
    addProblem: (source) ->
      problem = @store.createRecord('problem',
        detectedOn: new Date(),
        source: source
      )
      problem.save().then (problem) ->
          source.get('problems').addObject(problem)
        ,(e) ->
          # handle error
      false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM