2016-07-19 8 views
-3

私はnode.jsで同期呼び出しを行う方法は?

var zipEntries = zip.getEntries(); 
zipEntries.forEach(function (zipEntry) { 

     if (zipEntry.entryName.toString().indexOf('.csv') > -1) { 
      var data = zip.readFile(zipEntry.entryName.toString()); 
      zip.extractEntryTo(zipEntry.entryName.toString(), "./csvdata", false, true); 
      var filepath = zipEntry.entryName.toString(); 
      filepath = filepath.replace('largecsvzip2/', ''); 
      **some_function**("./csvdata/" + filepath); 
     } 
    }); 

問題は、ループ内でその機能すなわちのsome_functionがsome_function仕上げの前の実行後に呼び出すしなければならないですNode.jsの中で、このコードを書かれています。

現在、前回の実行が終了する前に関数が呼び出されます。

+0

をスタックして使用するために、すべての非同期機能を追加します。私はここで約束をどのように使うことができますか? –

+0

これらの関数のいくつかが非同期であると言うとき。これらの関数は約束を返しますか、それともコールバック関数を提供する必要がありますか?私は最初にあなたが読者にどの機能が非同期であるかを知らせたいと思うかもしれないと思います。 –

+0

この関数は何も返しません –

答えて

0

使用非同期eachSeries - async docs

+0

返信ありがとう –

0

Uは、U・ソリューションのためのpromise.allを使用する必要があります。 api promises

は私が約束を知ってpromise.all

+0

'promise.all'はOPを手助けしません。あなたは代わりに 'promise.then'にあなたの解決策を修正することを見たいでしょうか? –

+0

返信ありがとう –

関連する問題