Javascript - BackboneJS - Backbone.sync 覆盖 - YDN - 异步错误

标签 javascript backbone.js backbone-views ydn-db

我正在尝试将 YDN 与 Backbone.sync() 结合使用,但我遇到了 « fetchAll » 函数的问题。

例如,我有这个 View

var UserListView = Backbone.View.extend({
    el: ".page",


    initialize: function() {
        this.users = new UserCollection();
    },

    render: function() {
        var that = this;
        this.users.fetch({
            success:function(users){
                var template = _.template($('#user-list-template').html(), {users : users.models});
                that.$el.html(template);
            },
            error: function(users){
                console.log("error");
            }
        })      
    }
});

在 BackboneSync 中:

switch (method) {
    case "read":
        resp = model.id ? get(model) : all(model);
        break;
    case "create":
        resp = save(model);
        break;
    case "update":
        resp = save(model);
        break;
    case "delete":
        resp = remove(model);
        break;
}

function all(collection) {
    db.values("users", null, 10).done(function(records) {
        $.each(records, function(index, val) {
            collection.add(records);
        });
        return collection;
    });
};

我想你知道我被困在哪里。 db.values("users", null, 10).done({...});是异步方法,比如this.users.fetch({}),在这种情况下,它总是返回一个错误。

你知道如何处理它吗?

谢谢,

开23

最佳答案

已解决:

switch (method) {
    case "read":
        model.id ? get(model) : all(model);
        break;
    case "create":
        resp = save(model);
        break;
    case "update":
        resp = save(model);
        break;
    case "delete":
        resp = remove(model);
        break;
}

function all(collection) {
    console.log("je rentre");
    db.values("users", null, 10).done(function(records) {
        options.success(records);            
    });
};

和 View :

var UserListView = Backbone.View.extend({
el: ".page",


initialize: function() {
    this.users = new UserCollection();
},

render: function() {
    var that = this;
    this.users.fetch({
        success:function(users){
            console.log(users.models);
            var template = _.template($('#user-list-template').html(), {users : users.models});
            that.$el.html(template);
        }
    })      
}
});

关于Javascript - BackboneJS - Backbone.sync 覆盖 - YDN - 异步错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695544/

相关文章:

javascript - 使用 jQuery/JS 序列化 Map 对象

javascript - 从未为 Safari 触发 OnDrop 事件

javascript - 在 backbonejs 中处理 csv 响应

javascript - 如何在 Backbone 应用程序中使用 qunit

html - Backbone.js 获取 PDF 响应

javascript - 使用 cid 操作 Marionette ItemView

javascript - 在 AngularJS 中创建子范围的所有指令是什么?

javascript - 从数据库中删除的记录如何更新 UI

javascript - View 之间的backbone.js事件

javascript - 从 Marionette View 使用 Handlebars 模板中定义的 DOM 元素