javascript - 销毁 Ember 数据记录时出错

标签 javascript ember.js ember-data

我在删除 Ember 数据记录时遇到错误,但我无法找出原因,

Attempted to handle event `pushedData` on <card:32> while in state root.deleted.inFlight. 
Error

下面的代码是触发错误的地方,

    deleteBtnClicked() {
        const controller = this.controllerFor('browse/index');
        let selectedCards = controller.getSelectedCard();
        selectedCards = selectedCards.map((card) => {
            return parseInt(Ember.get(card, 'id'));
        });

        selectedCards.forEach((id) => {
            this.store.find('card', id)
                .then((card) => {
                    card.destroyRecord();
                });
        });
    }

结果发现记录已成功删除,但错误仍然存​​在。

最佳答案

find is private method所以请不要使用它。相反,您可以使用 findAllfindRecord

deleteBtnClicked() {
    const controller = this.controllerFor('browse/index');
    let selectedCards = controller.getSelectedCard();
    //if selectedCards itself is RecordArray you can easily iterate using forEach and destroyRecord. no need of findRecord.
    selectedCards = selectedCards.map((card) => {
        return parseInt(Ember.get(card, 'id'));
    });
    //I added reload: true this will ensure promise will be resolved only after adapters returns the data.
    selectedCards.forEach((id) => {
        this.store.findRecord('card', id, { reload: true })
            .then((card) => {
                card.destroyRecord();
            });
    });
}

关于javascript - 销毁 Ember 数据记录时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42080204/

相关文章:

ember.js - 如何将 stripe.js 添加到 ember-cli 应用程序?

javascript - 如何解决读取文件时出现的 blob 错误?

javascript - 使用 DOM : 7009 error (unable to decode) in console 无法在 IE 中加载图像

javascript - 保护检查元素的 ajax 形式的值,如何保护?

ember.js - 将 disqus 与 emberjs 集成仅适用于第一页加载

ember.js - emberjs 无法克隆未实现 Ember.Copyable 的 Ember.Object

javascript - 模型存储未定义

ember.js - Ember.js动态模型属性

javascript - Nodejs Promise 无法解析/没有返回数据

Javascript 语法差异