私はjavascript OOPの初心者です。データベースに格納された情報を提供する API を作成しようとしています。私は特にコールバックを使用していませんでした。
私のコンストラクターは非同期呼び出し (get_question 関数) を行うため、API を使用する場合:
var obj = new API('id');
obj.get_description();
同期がないため、私のオブジェクトは空です!
では、コンストラクターが非同期呼び出しを行うことを知って、この方法で使用可能な API を作成するにはどうすればよいでしょうか?
これが私のAPIクラスのコードです:
var API = function(question_id_algo) {
var id_algo = question_id_algo;
var self = this;
var question_object = null;
this.callback_db_init = function(data) {
question_object = data;
}
get_question(id_algo, self.callback_db_init);
this.get_description = function() {
if(question_object != null){
return question_object.description;
}
}
}
そして私の get_question 関数
function get_question(id_algo, callback_function)
{
Lungo.Data.Sql.select('question', {id_algo: id_algo}, callback_function);
}
Lungo.jsフレームワークを使用して SQLite データベースにアクセスしています。