2016-11-22 10 views
0

こんにちは私はFirebaseの助けが必要です、私のプロジェクトでは私は多くの部屋があります。メンバーが部屋を選択すると、下にスクロールします。しかし、機能を下に移動してからchild_addedを追加する前に実行してください。 child_addedが完了したら、どうやって機能を下から下にスクロールできますか?私はdisplayChatMessageに警告を追加した場合に行うときに何かsynchronouslyを実行execution.When、それは常に最初の警告と、それは別のタスクに移動する前に終了するのを待て、理由asynchronouschild_added completeが何かをするとき

myDataRef.limitToLast(5).on('child_added', function (snapshot,prevChildKey){ 
    var message = snapshot.val(); 
displayChatMessage(snapshot.key, message.name, message.text'); 

}); 

function displayChatMessage(key,name,text){ 
var html = '<div id="'+key+'">'+name+'</div>'; 
$('#addhere').append(html); 
} 
+0

ご使用のフロントエンドクライアントを教えてください –

答えて

1

そのを追加します。 asynchronouslyを実行すると、完了する前に別のタスクに移動できます。 あなたの場合、displayChatMessageの後に関数scroll_to_bottom()を追加して、&をコールバックする必要があります。 ...プリントがコンソールに

グローバル変数

​var allUserData = []; 

ジェネリックlogStuff機能をコールバックを使用しての以下の例を参照してください

​function logStuff (userData) { 
if (typeof userData === "string") 
{ 
    console.log(userData); 
} 
else if (typeof userData === "object") 
{ 
    for (var item in userData) { 
     console.log(item + ": " + userData[item]); 
    } 
}} 

// 2つのパラメータを取る関数、最後のものはコールバック関数

function getInput (options, callback) { 
allUserData.push (options); 
callback (options); 
} 

//我々はか、getInput関数を呼び出すと、私たちは、パラメータとしてlogStuffを渡す。 //のでlogStuffバックと呼ばれる(または実行)する関数になりますがか、getInput関数内

getInput ({name:"Rich", speciality:"JavaScript"}, logStuff); 

//名前:リッチ //専門:JavaScript`

+0

こんにちは! 私の答えを受け入れることもできます。 –

関連する問題