Mam funkcję w mojej aplikacji nodejs o nazwie get_source_at. Wymaga uri jako argumentu, a jego celem jest zwrócenie kodu źródłowego z tego uri. Mój problem polega na tym, że nie wiem, jak wywołać funkcję synchronicznie wywołującą żądanie, zamiast podawać tę funkcję zwrotną. I chce kontrolować przepływ, aby zatrzymać się na kilka sekund, aby załadować uri. Jak mogę to osiągnąć?Jak mogę ustawić to wywołanie w synchronizacji nodejs?
function get_source_at(uri){
var source;
request({ uri:uri}, function (error, response, body) {
console.log(body);
});
return source;
}
Ponadto przeczytałem o "zdarzeniach" oraz o tym, jak węzeł jest "zdarzenie" i powinienem uszanować to na piśmie mojego kodu. Cieszę się, że mogę to zrobić, ale muszę mieć sposób, aby upewnić się, że mam kod źródłowy z uri przed kontynuowaniem przepływu kontrolnego mojej aplikacji - więc jeśli to nie jest przez synchronizację funkcji, jak to zrobić ?
Podczas gdy odpowiedź Lai jest poprawna pod względem technicznym (dlatego zostałem oznaczony jako odpowiedź), moje ewentualne rozwiązanie wymagało więcej pracy. Gdy masz nieokreśloną liczbę połączeń do żądania, możesz użyć wzorca w przykładowym kodzie znajdującym się pod adresem https://gist.github.com/2234466 – Trindaz