【发布时间】:2015-07-30 22:54:04
【问题描述】:
对于我在 Ember-Data 中拥有的标签模型,我的商店中有 4 条记录:
标签:
id tag_name
1 Writing
2 Reading-Comprehension
3 Biology
4 Chemistry
在我的代码中,我有一个 tag_names 数组,我想获得一个相应的标签 ID 数组。我有两个问题:
-
即使我的商店中有这些标签,我的服务器仍在被查询。当我调用 store.find('tag', {tag_name: tag_name}) 时,我没想到需要调用服务器。这是我用来尝试创建 ID 数组的所有代码。
var self = this; var tagsArray = ["Writing", "Reading-Comprehension", "Chemistry"]; var tagIdArr = [] tagsArray.forEach(function(tag_name) { return self.store.find('tag', { tag_name: tag_name }).then(function(tag) { tagIdArr.pushObject(tag.get('content').get('0').get('id')); }) }) return tagIdArr; 当我 console.log 时,上面代码的输出给了我一个长度为 0 的空数组对象。单击空数组旁边的插入符号会显示三个具有正确数据的键值对。但是数组是空的。我确信对这种行为有一个简单的解释,但我不确定为什么会这样。我已经在其他地方成功使用过类似上面的代码了。
【问题讨论】:
标签: ember.js ember-data ember-cli