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

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

本文关键字:何设置 设置 变量 实例 OOP 函数 回调 javascript      更新时间:2023-09-26

我想代码是这样的:

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

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) {...},
}

我想更新id变量在项目对象等于数据变量后使用回调函数

如何解决这个问题?

为什么不这样呢?

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