NodeJS: process.nextTick против мгновенного обратного вызова
Я пишу много модулей, которые выглядят так:
function get(index, callback) {
if (cache[index] === null) {
request(index, callback); // Queries database to get data.
} else {
callback(cache[index]);
}
}
Примечание: это немного упрощенная версия моего реального кода.
Этот обратный вызов вызывается либо в том же исполнении, либо через некоторое время. Это означает, что пользователи модуля не уверены, какой код запускается первым.
Мое наблюдение состоит в том, что такой модуль вновь вводит некоторые проблемы многопоточности, которые ранее были решены движком JavaScript.
Вопрос: я должен использоватьprocess.nextTick
или гарантировать, что обратный вызов безопасен для вызова вне модуля?