我正在尝试使用回调编写函数 - 我想创建一个对象,然后在回调中访问该数据。
到目前为止,这是我的功能:
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)
});
});
截至目前,'回调被称为'被叫'之前的警报',但'回叫被叫'永远不会发出警报。如何在回调中访问返回的数据?
如果我做其他任何错误,请随时告诉我!
答案 0 :(得分:3)
您可以使用新数据调用callback
,而不是将其返回:
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")
});
}