1

node.jsで既存のファイルを同期的にチェックすることと非同期的にチェックすることの違いは何ですか?

例えば:

var path = require('path');
if (path.existsSync("/the/path")) { // or fs.existsSync
    // ...
}

// Is it a directory?
lstat('/the/path', function(err, stats) {
    if (!err && stats.isDirectory()) {
        // Yes it is
    }
});
4

1 に答える 1

1

メソッドの同期バージョンは、fsメソッドの戻り値を介して結果を提供します。結果として、これらのメソッドは結果を判断するために I/O が実行されている間はブロックする必要があります。

非同期バージョンは、呼び出し元がパラメーターとしてメソッドに提供するメソッドのコールバック関数を介して結果を提供します。メソッドは必要な I/O を開始してすぐに戻るだけなので、これらのメソッドからの戻り値は役に立ちません。I/O が後で完了すると、コールバックが呼び出されて結果が呼び出し元に返されます。

于 2012-11-12T05:44:40.313 に答える