1

私はマングースのAPIドキュメントを精査しましたが、私の問題の手がかりが見つかりませんでした. タブの子に新しい子を追加するためにプッシュ機能を使用したい。子は親と同じ構造を持っています。

これはそれで機能しません:

function get_directory(id, cb) {
    // if argument id is omited, we return directly the mainDir

    model.findOne(...select the main object, function(mainDir) {
        recurse_in_the_main_object(mainDir, id)
        callback ( dir_founded )
    });
};

function add_directory(parentDir_id, specs, cb) {
    get_directory(parentDir_id, function(dir) {
        dir.push({..........});

        get_directory(function(mainDir) {
           mainDir.save();
        });
    });
});

しかし、それを扱う:

function get_directory(id, cb) {
    // if argument id is omited, we return directly the mainDir

    model.findOne(...select the main object, function(mainDir) {
        recurse_in_the_main_object(mainDir, id)
        callback ( dir_founded, mainDir)
    });
};

function add_directory(parentDir_id, specs, cb) {
    get_directory(parentDir_id, function(dir, mainDir) {
        dir.push({..........});              
        mainDir.save();
    });          
});

おそらく非同期の問題です(新しいディレクトリはうまくプッシュされますが、保存されません)が、cbまたはsetTimeoutを使用しても、それは持続します! なぜ ex1 が機能しないのかはわかりました...私の英語で申し訳ありません ^^'

ありがとう !!!

4

0 に答える 0