0
カスタムのreadFile JS関数を作成したいとします。しかし、私はそれが巨大なファイルを読み込むのに使われることを意図しているので、これを同期関数にしたくないので、私のプログラムがしばらく前進するのを妨げるでしょう。 私はこれを他のプログラムと並行して実行したいです。コールスタックから関数を削除して並列実行するにはどうすればいいですか?
この関数の呼び出しをsetTimeout(0)でラップすると、呼び出しスタックが空になるのを待ってから実行しますが、私はそれを望みません。並列で実行します。
可能でしょうか?
'readFile'はすでにasyncですが、これには[' createReadStream'](https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options)を使いたいと思うかもしれません。あなたはそれを見ましたか? – JohnnyHK
@JohnnyHK '' async!= parallelism''です。コールバックは、実行スタックが空になるのを待たなければ呼び出されません。 – mdziekon
@mdziekon具体的に何を得ているのかはっきりしていませんが、 'readFile'を呼び出すことはファイルの読み込み中にブロックされません。ファイルI/Oの読み取りはメインスレッドの外部で行われます。したがって、効果的に並列です。 'readFile'コールバックはもちろん、メインスレッドで実行されます。 – JohnnyHK