Laravelアプリケーションでチャンネルのプッシャーを使用しています。したがって、コントローラーからイベントを発生させると、これがクライアントに受信され、プッシャー関数を使用して、フロント ページにこの lib https://github.com/albburtsev/jquery.typistを使用してテキストを追加します。
channel.bind('App\\Events\\TextAdded', function(data) {
if(data.txt){
printPhrase(data.txt);
i++;
}
});
function printPhrase(txt) {
$('<span>')
.addClass('txt_' + i)
.appendTo('.typist_dialog')
.typist({
text:txt,
speed: 15,
}).on('end_type.typist', function() {
console.log('end') ;
}).typistStop() ;
}
});
ご覧のとおり、イベント "end_type" (関数が書き込みを停止したとき) をキャッチできます。
問題は、「channel.bind」をキューに入れることができない、または方法がわからないことです。そのため、printPhrase(txt)
完了するまで待機しています...そのため、画面に複数の印刷が表示されません...