Порядок исполнения в следующем (Nodejs) - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь выучить nodejs, и я столкнулся с поведением следующей функции:

console.log('IN Middleware1 /');
    //res.send('<h1>Hello Header in Express from default path</h1>')
    next();
    console.log('IN Middleware1 after next');
    })




    app.use('/product',(req,res,next)=>{
        console.log('In Middleware2 product');
        res.send('<h1>Hello Header in Express from Product</h1>')
        //next();

        })

        app.use('/',(req,res,next)=>{
            console.log('In Middleware3 /');
            res.send('<h1>Hello Header in Express from default path</h1>')
            //next();

            })

Когда я нажимаю на URL (http://localhost: 3000 / ) , Вывод ниже: Почему я получаю триггер к своему middleware1 и 3 дважды, когда я нажимаю на URL один раз? IN Middleware1 / In Middleware3 / IN Middleware1 после следующего IN Middleware1 / In Middleware3 / IN Middleware1 после следующего

Мое следующее сомнение заключается в том, что когда я изменяю свой код ниже, почему я получаю возвращаемое значение Middleware3 для оба URL (http://localhost: 3000 / и http://localhost: 3000 / product ), когда я вызываю next () из Middleware3, почему не собирается и не выполняет middleware2? потому что путь соответствует (/ product также включает в себя /, поэтому только / код был выполнен?):

app.use('/',(req,res,next)=>{
        console.log('In Middleware3 /');
        res.send('<h1>Hello Header in Express from default path</h1>')
        next();

        })


    app.use('/product',(req,res,next)=>{
        console.log('In Middleware2 product');
        res.send('<h1>Hello Header in Express from Product</h1>')
        //next();

        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...