Zagnieżdżone żądania blokują się
Jestem stosunkowo nowy w nodejs. Ostatnio zebrałem całą zbiorową wiedzę, którą zebrałem w ciągu ostatnich kilku miesięcy w projekt. Wierzę, że wpadłem na mój pierwszy problem z „blokowaniem” w nodejs.
Mam stronę, która ładuje dwierequest()
połączenia są asynchroniczne i odpowiednio zagnieżdżane. Najgłębszy używa danych z najgłębszego do przekierowania użytkownika.
request(parameters,function(error, response, data){
//the first request passes a token
request(newParamters,function(error, response, data){
//the second request passes a url
res.redirect(data.info.url);
});
});
Błąd polega na tym, że kiedy otwieram to w wielu kartach przeglądarki, kończy się to po pierwszej parze, a serwer mówidata.info.url
jest niezdefiniowane.
Moje pytanie do ciebie brzmi:Czy powinienem wykonywać tylko jedno żądanie na raz? Mogłem zapisać żeton od pierwszegorequest()
i przekieruj użytkownika do drugiegorequest()
czy to pomoże? Byłem bardzo świadomy asynchronizacji i nie blokowałem i jestem zszokowany, że tak się dzieje. Jakakolwiek opinia byłaby świetna!