gpt4 book ai didi

extjs - Sencha extjs model.erase 即使在服务器错误时也会删除模型

转载 作者:行者123 更新时间:2023-12-02 06:50:57 25 4
gpt4 key购买 nike

当调用 model.erase({failure..., success...}) 时,即使服务器以 HTTP StatusCode 500 响应,模型也会被删除。故障监听器被正确触发但我希望那个模型不会被摧毁。我可以看到它已被销毁,因为它已从商店中移除。

var rec = store.getAt(index);
rec.erase({
success:function(record, operation){
// Do something to notify user knows
}
failure:function(record, operation){
// correctly triggered when HTTP = 40x or 50x
// Would expect that record is still in store. Why not?
// Of course i could add it again to store with store.add(record) but is that the prefered way?
}
});

我在 Extjs 6.0 中使用 AJAX 代理

最佳答案

是的,erase方法立即从存储中删除记录,而不等待服务器的响应。处理您的场景的“hacky”方式是:

  • 创造记录的dropped属性为真;
  • 使用 save 保存记录方法(它将生成一个删除请求,但会将记录保存在商店中);
  • 成功时从存储中删除记录,失败时将 dropped 属性重置为 false。

    var record = store.getAt(index);
    record.dropped = true;
    record.save({
    success: function() {
    store.remove(record);
    // do something to notify the user
    }
    failure: function() {
    record.dropped = false;
    }
    });

关于extjs - Sencha extjs model.erase 即使在服务器错误时也会删除模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44679321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com