在Javascript中将对象传递给回调

在Javascript中将对象传递给回调,javascript,jquery,asynchronous,callback,jquery-callback,Javascript,Jquery,Asynchronous,Callback,Jquery Callback,我试图用回调函数编写一个函数——我想创建一个对象,然后在回调函数中访问该数据 以下是我目前的功能: var getModelInfo = function(model, callback) { alert('called!') //This logs the correct model console.log(model); //The object I want to return return { "field1

我试图用回调函数编写一个函数——我想创建一个对象,然后在回调函数中访问该数据

以下是我目前的功能:

var getModelInfo = function(model, callback) {
      alert('called!')

      //This logs the correct model
      console.log(model);

      //The object I want to return
      return {
        "field1" : model.get("1"),
        "field2" : model.get("2"),
        "field3" : model.get("3"),
        "field4" : model.get("4")

      };

    }

    //Declared outside because I want to avoid 'this' issues
    var model_send = this.model;

    $(function() {
      alert('callback to be called')
      getModelInfo(model_send, function(data) {
        alert('call back called');

        // I want this to be the returned object
        console.log(data)

      });

    });
从现在起,“callback to called”在“called”之前发出警报,但“call back called”从不发出警报。如何访问回调中返回的数据


如果我还做错了什么,请随时告诉我

您可以使用新数据调用
回调
,而不是返回它:

var getModelInfo = function(model, callback) {
  alert('called!')

  //This logs the correct model
  console.log(model);
  callback({
    "field1" : model.get("1"),
    "field2" : model.get("2"),
    "field3" : model.get("3"),
    "field4" : model.get("4")
  });
}

您可以使用新数据调用
回调
,而不是返回它:

var getModelInfo = function(model, callback) {
  alert('called!')

  //This logs the correct model
  console.log(model);
  callback({
    "field1" : model.get("1"),
    "field2" : model.get("2"),
    "field3" : model.get("3"),
    "field4" : model.get("4")
  });
}

您从未执行过回调。这一行中的
this
指的是什么:
var model\u send=this.model?这是因为在
getModelInfo
function@Asad这是指主干模型scope@streetlight您应该添加
主干
标记,或者至少在你的问题中提到这一点。你从未执行过回调。这一行中的
this
指的是什么:
var model\u send=this.model?这是因为在
getModelInfo
function@Asad这是指主干模型scope@streetlight然后你应该添加
主干
标签,或者至少在你的问题中提到这一点。