ファイルを最初にロードし、後でそれを非同期的に処理する非同期関数を想像してみましょう。関数は、ファイルを使用せずに続けることができないので、私の仮定は、このファイルをロードすると、同期的に行うことができることである(*):別のファイルに対して複数回呼び出すことができ同期関数の非同期関数への影響
const asyncFnWithSyncCode(filePath, next) {
// Load file
const file = fs.readFileSync(filePath)
// Continue to process file with async functions
// ...
next(null, processedFile)
}
asyncFnWithSyncCode
:
async.parallel([
(done) => { asyncFnWithSyncCode('a.json', done) },
(done) => { asyncFnWithSyncCode('b.json', done) },
(done) => { asyncFnWithSyncCode('c.json', done) }
], next)
私の質問は:これはパフォーマンスにどのような影響を及ぼしますか?同期機能によって他のreadFileSync
が遅れますか?それはまったく影響がありますか?
ベストプラクティス、リソース、意見を歓迎します。ありがとう!
(*)私は単純に非同期readFile
-versionを使用することができますが、この特殊な構成でどのように動作するのか本当に知りたいと思います。
非常によく説明されています。どうもありがとう! – tobi