2016-02-26 78 views
2

我想告诉用户何时有未决的请求正在进行。EmberJS,如何监控未决的AJAX请求

主要想法是当有一些待处理的请求时显示一个微调,但也有一个不错的想法有总数的待处理的请求,以便我可以得到更准确的信息给用户。

在Ember有没有我能找到这些信息的地方?,我正在检查模型,但是这让我去了a nightmare。我也没有在DS.Store中找到任何东西。

回答

0

正常情况下,Ajax请求包装在Promise中。

对于路由实例:

this.store.findAll('myModel') 

这将返回一个承诺,你可以显示一个微调,而承诺的心不是解决。 因为这是一个经常需要的行为,路由将转换为加载路由并呈现加载模板,而模型挂钩的承诺仍在解决。

https://guides.emberjs.com/v1.10.0/routing/loading-and-error-substates/

余烬检查员使用逻辑来检查承诺。

https://github.com/emberjs/ember-inspector

也许你能得到一些相关信息如何得到全部挂起的承诺。

+0

即使这看起来像一个很好的解决方法,据我所知,_promise_实际上并不是一个挂起的请求。我的模型树可以充满承诺,但我不会等待任何人加载,甚至大多数人永远不会加载,因为我永远不会需要它们。向用户通知未决_promises_的数量对她来说并不真实。 – fguillen