简体   繁体   English

javascript OOP中使用回调函数后如何设置实例变量

[英]How to set Instance variable after use callback function in javascript OOP

I suppose the code this : 我想这样的代码:

Item.js Item.js

var item = {
    id = 0,
    itemname = "name",

    callAjax : function(){
        var ajaxdata = {itemname:this.itemname}
        MM.callajax("apiname",ajaxdata,function(data){
          //this is callback function after ajax is done
          id = data;    // suppose data = 2
        });
    },

}

MMCallajax.js MMCallajax.js

var MM = {
   callajax: function (apiname, data, callback) {

    var apiurl = this.apiBaseUrl + "/" + apiname;
    jQuery.ajax( 
               apiurl, 
               {'type': 'POST', 
                'dataType': 'json', 
                'data': data, 
                'xhrFields': { withCredentials: true }
               })
    .done(this.apiCbDone(callback))
   },

   apiCbDone : function (callback) {...},
}

I want to update id variable in item object equal data variable after use callback function 我想在使用回调函数后更新项目对象等于数据变量中的id变量

How to solve this? 如何解决呢?

Why not like this? 为什么不这样呢?

var item = { id: 0 };
MM.callajax("apiname",ajaxdata,function(data){
    //this is callback function after ajax is done
    item.id = data;    // suppose data = 2
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM