2017-06-19 15 views
0

私は(フォルダを含む)にファイルをアップロードする機能webkitgetasentryを使用 (使用をドラッグ&ドロップ)非同期関数(webkitgetasentry、ファイルのアップロード)を完了したら、どうすればキャッチできますか?以下

は私のコード

function drop(e){ 
    e.stopPropagation(); 
    e.preventDefault(); 
    //call start modal (waiting file uploading...) 
    var items = e.dataTransfer.items; 
    for(var i=0; i<items.length; i++){ 
     var item = items[i].webkitGetAsEntry(); 
     if (item){ 
      callmyfunction(item); 
     } 
    } 
    //start modal close 
} 

callmyfunctionでファイルのアップロードを行います。

ただし、このコードは非同期で実行されます。

そう際callmyfunctionすべての完全な私は、モーダルクローズを開始することができますどのように

すべて完全callmyfunction前に、モーダルクローズを開始?

+0

callmyfunctionにコールバックを渡し、その内部でモーダルクローズを開始します。 – Aigloun

+0

同期させることができます。これを行うための1つの方法は、「約束」または「ジェネレータ」を使うことです。または '非同期関数' – Jalil

答えて

1

callmyfunction非同期関数は、コールバックパラメータを受け入れる必要があります。コールバックパラメータを受け入れることで、そこでモーダル処理を処理できます。例:

もう1つのオプションは、Promiseを使用することです。

関連する問題