我有一个函数将回调作为参数,这个函数在其中有一个子函数,我需要实际执行传递给它的父函数(子函数)完成时传递的回调。
示例:
function Update(callback){
var db = Ti.Database.open('xxxxx'); //Open local database
var data = Ti.Network.createHTTPClient(); //Open a URL to obtain data to put into db.
data.onload = function(){
//loop through JSON file obtained from HTTPClient and place data into the DB.
callback(); //I need THIS to trigger the parents callback to tell the next function that Update() is done.
}
data.open("GET","URL");
data.send();
}
在谈到回调时我很缺乏经验,所以也许我在想这个。任何帮助,将不胜感激!谢谢大家!
编辑:修复 - 上面的代码按预期工作。不知何故,因为在创建数据库时调用了这个Update函数(另一个函数创建了数据库,然后该回调函数调用了这个Update函数),它仍在更新数据库,但没有在onload中调用回调。我之后调用了回调来触发Update,它现在按预期工作。 Appcelerator控制台中从未出现任何错误,因此我不确定如何在没有调用回调的情况下更新数据库的方式或原因,但确实如此。