Ember JS使用promises转换为Ember Data

时间:2014-02-19 09:04:59

标签: javascript jquery json ember.js ember-data

我有一个深层的jSon结构来处理,所以我目前直接在Ember模型中实现promises(不依赖于Ember Data)。

如下所示: -

  

返回Ember。$。getJSON('/ ProcessManager / manage type = submitters& action = getSubmitters')。then(function(data)   {

     

var submitters = [];

$.each(data, function(i, item) {
  $.each(item, function(i, item) {
    $.each(item, function(i, item) {
      Push each submitter into submitter array
        submitters.push(item);
      });
   });
});

return submitters;

});

此URL的示例完整jSON响应如下: -

  

{ “提交者”:{ “signsubmitter.jar”:{ “SignSubmitter”:{ “描述”:NULL, “名称”: “com.form.custom.submitters.SignSubmitter”, “的JARname”:“signsubmitter。罐 “}},” 定制classes.jar “:{” OutputDirSubmitter “:{” 描述 “:” 写操作   XML到a   目录 “” 名 “:” com.form.custom.submitters.OutputDirSubmitter “ ”的JARname“: ”定制classes.jar“}, ”XMLResponseSubmitter“:{ ”说明“:” 返回   XML文件到   客户端 “” 名 “:” com.form.custom.submitters.XMLResponseSubmitter “ ”的JARname“: ”定制classes.jar“}, ”ChainProcess“:{ ”说明“:” 产业链   输出文件到另一个   过程 “” 名称 “:” com.form.custom.submitters.ChainProcess”, “的JARname”: “定制classes.jar”}}}, “成功”:真}

我已阅读此网址:http://emberjs.com/guides/models/connecting-to-an-http-server/

我想知道人们对使用此类数据过渡到Ember Data的意见。

谢谢。

1 个答案:

答案 0 :(得分:1)

我一直在使用深度嵌套记录集的ember数据一段时间了,我非常喜欢它。根据我对您提供的信息的理解,它应该可以正常工作。理想情况下,您应该能够以ember期望see side loaded relationships here的格式定义JSON。如果你做对了,那么大多数事情都没问题。最初我因为错误的套管而花费了很多沮丧的时间,而且很多doco已经过时且显示不正确的外壳 - 这是你必须自己解决的问题 - 但是如果你得到奇怪的无意义错误那么套管可能是问题。

如果您无法更改服务器JSON,则可以简单地覆盖RESTAdapter和RESTSerializer以满足要求。这也很简单而且有效。

Ember数据对我来说效果很好,可以满足我的需要。

Ember旨在使用promises并加载深层嵌套的记录集,这些promises解决的顺序非常重要。这里有关于如何实现这一目标的足够信息。