在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然后你应该添加主干标签,或者至少在你的问题中提到这一点。