Javascript Ember.js:从DS.RESTAdapter在本地存储中保存记录

Javascript Ember.js:从DS.RESTAdapter在本地存储中保存记录,javascript,json,ember.js,ember-data,Javascript,Json,Ember.js,Ember Data,我有一个从JSON API检索记录的适配器: App.PostAdapter = DS.RESTAdapter.extend({ find: function() { var url = 'I MAKE AN AJAX CALL TO THIS URL WITH JSONP AND IT RETURNS JSON CONTAINING MANY OBJECTS I WANTED TO SAVE IN THE STORE';

我有一个从JSON API检索记录的适配器:

    App.PostAdapter = DS.RESTAdapter.extend({
        find: function() {
            var url = 'I MAKE AN AJAX CALL TO THIS URL WITH JSONP AND IT RETURNS JSON CONTAINING MANY OBJECTS I WANTED TO SAVE IN THE STORE'; 
            return $.getJSON(url).then(function(data) {
                return data.map(function(result) {
                    var newPost = store.createRecord('post', {
                        title:   result.title,
                        content: result.content
                    });
                    newPost.save();
                })
            })
        }
    })

我尝试了很多方法,但我根本无法在那里获得商店参考(我已经设置了post模型)。此外,我甚至不确定这是否是正确的/推荐的方法(从API获取json并在检索到它后立即保存)。我认为如果我在PostRoute中这样做,它可能会起作用,但它是否违反了惯例?

如果您想正确扩展RestaAdapter,我建议您查看源代码以供参考

RestAdapter.find:


RestAdapter.ajax:

您试图做的在概念上是错误的。通常情况下,
store
在需要执行网络操作时将控制权传递给
adapter
,而adapter的职责是执行这些操作并以所需格式返回记录。你的实际问题是什么?这看起来像是一个@code jaff,我通过适配器获取了每一篇文章,因此它必须在每次请求时访问互联网,并且没有任何内容保存到本地存储中。因此,我试图找出如何一次获取所有帖子,并将它们保存到本地商店,这样当切换到其他帖子时,它的响应速度会更快。