gpt4 book ai didi

ember.js - 如何使用 FIXTURES 模拟慢速 REST 后端?

转载 作者:行者123 更新时间:2023-12-02 06:00:43 26 4
gpt4 key购买 nike

我正在尝试使用 FIXTURES 在测试应用程序中模拟慢速后端.我正在执行以下操作:

App.SlowIndexRoute = Ember.Route.extend({
model: function() {
return new Ember.RSVP.Promise(function(resolve) {
Ember.run.later(function() {
resolve(App.Node.find());
}, 2000);
});
}
});

我期待这将类似于慢速 REST 后端,即:
  • 发送请求
  • 路由激活,模板渲染
  • 后台回复
  • 现在模板中的数据已更新

  • 相反,据我所知,这大致是正在发生的事情:
  • 发送请求
  • 未执行模板渲染,路线尚未激活。
  • 一旦回复“到达”(resolve(App.Node.find());),路由就会被激活
  • 模板渲染好了,由于数据已经可用,所以也显示

  • 如何更准确地模拟慢速 REST 后端?如何确保路由器在回复到达之前激活 View /模板?

    最佳答案

    DS.FixtureAdapter 有一个 latency默认为 50 毫秒的属性。您可以通过在创建商店时手动实例化适配器来更改此设置。

    App.Store = DS.Store.extend({
    adapter: DS.FixtureAdapter.create({ latency: 1000 });
    });

    从 Ember 1.0.0-rc.6 开始,路由在转换之前等待模型的 promise 解决是预期的行为。如果您不希望路由等待,请不要从您的 then 返回 promise (带有 model 方法的东西)钩。返回一个常规对象,一个已经加载的对象,或者一个代理。然后稍后在您的 setupController 中加载模型以钩子(Hook)为例。

    关于ember.js - 如何使用 FIXTURES 模拟慢速 REST 后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17910814/

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