Comment vérifier si la fonction javascript est prêt/fait (jQuery)

Je suis en train de travailler sur l'apprentissage d'un planificateur qui reçoit les données (languagekeys, les tâches, les activités, etc.) à partir d'une base de données. Parce que j'ai besoin d'une chaîne JSON, j'ai coder avec json_encode de travailler avec elle en JavaScript.
J'ai une fonction différente (pour les clés, les tâches, les activités, etc.) qui reçoit ces données et les enregistre dans un tableau.

function get_tasks(start_date,end_date){

    maxsubtasks=0;
    maxtasks=0;

    $.getJSON(json_data+"?t_startdate="+start_date+"&t_enddate="+end_date, function(data) {  

        tasks=new Array();

        $.each(data.tasks, function(i,item){

            tasks[i]= new Object();
            tasks[i]["t_id"]=item.t_id;
            tasks[i]["t_title"]=item.t_title;
            tasks[i]["t_content"]=item.t_content;
            . . .

            if ( i > data.tasks.length) return false;    
            maxtasks = data.tasks.length;
            if(item.t_parent > 0){
                maxsubtasks++;
            }
        });         
    });
    return true;
}

Tout fonctionne très bien. J'ai besoin d'aide, car j'ai maintenant appeler cette fonction dans $(document).ready(). Je veux construire mon apprentissage planificateur une seule fois la fonction get_tasks() est complet (le tableau est rempli avec des données). Sinon, je vais avoir des erreurs.

Comment cela peut-il être résolu?

Voici ce que j'ai dans $(document).ready():

if(get_tasks(first_day,last_day) && get_tmp_data()){ //If this function is done
    //This function should be fired -- just like a callback in jQuery
    init_learnplanner();
}
  • Comme une note de côté: Vous devez créer votre objet avec task[i] = {t_id: item.t_id, t_title: item.t_title,...} ou c'est peut-être suffisant pour faire task[i] = item.
InformationsquelleAutor Chris | 2010-12-07