私はこのように見えるモジュールをたくさん書いています:
function get(index, callback) {
if (cache[index] === null) {
request(index, callback); // Queries database to get data.
} else {
callback(cache[index]);
}
}
注:これは私の実際のコードを少し簡略化したものです。
そのコールバックは、同じ実行で呼び出されるか、しばらくしてから呼び出されます。これは、モジュールのユーザーが最初に実行されるコードがわからないことを意味します。
私の観察では、そのようなモジュールは、以前はJavaScriptエンジンによって解決されていたマルチスレッドのいくつかの問題を再導入します。
質問:process.nextTick
モジュールの外部でコールバックが呼び出されても安全であるかどうかを確認する必要がありますか?