Trochę chyba pomyliłeś pojęcia. Przede wszystkim pojęcia 'middleware' nie używa się w czystym JavaScripcie, a przynajmniej ja o tym nie słyszałem.
Middleware jest często używane w aplikacjach sieciowych opartych na serwerze, takich jak aplikacje oparte na Express.js w Node.js. Służy do wykonywania różnych zadań, takich jak autentykacja, logowanie, przetwarzanie żądań i modyfikowanie odpowiedzi, przed przekazaniem żądania lub odpowiedzi do następnego kroku w obrębie ścieżki żądania.
Przykład:
router.get('/', [moj_middleware], (req, res)=>{
console.log('jestes zalogowany')
});
function moj_middleware(req, res, next){
if(zalogowany){
next();
}else{
res.send({status: "niezalogowany"})
}
}
Mamy ścieżkę '/' zanim się jednak ona wykona, wykonywana jest nasz middleware o nazwie 'moj_middleware' który sprawdza czy użytkownik jest zalogowany (middleware ma dostęp do naszego requesta http).
Middleware jest również używane w aplikacjach opartych na Redux do zarządzania stanem aplikacji. W tych przypadkach middleware może być używane do przechwytywania i modyfikowania akcji przed ich przekazaniem do funkcji redux lub do wykonywania dodatkowych zadań po otrzymaniu akcji.