learnyounode
Version:
Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.
13 lines (7 loc) • 1.45 kB
Markdown
Ten problem jest taki sam jak poprzedni (HTTP COLLECT) w sensie potrzeby wykorzystania `http.get()`. Tym razem jednak Twój program otrzyma **trzy** URLe jako pierwsze trzy argumenty wiersza poleceń.
Musisz zebrać całą zawartość otrzymaną z każdego z URLi i wypisać ją na konsolę (stdout). Nie musisz wypisywać długości, wystarczą dane jako ciąg znaków - jedna linia na URL. Haczyk tkwi w tym, że **musisz** wypisać je w takiej samej kolejności w jakiej URLe przekazane zostały do Twojej aplikacji.
----------------------------------------------------------------------
## WSKAZÓWKI
Nie spodziewaj się, że te trzy zewnętrzne serwery będą miłe i kochane! Nie dostaniesz od nich odpowiedzi w kolejności, na którą liczysz - nie możesz zatem w naiwny sposób po prostu wypisać ich na konsolę zaraz po otrzymaniu; kolejność nie będzie wtedy prawidłowa.
Zaistnieje potrzeba zakolejkowania wyników i pamiętania ile URLi zwróciło całą odpowiedź. Dopiero gdy masz je wszystkie możesz wypisać dane na konsolę.
Zliczanie wywołań funkcji callback stanowi jeden z podstawowych sposobów radzenia sobie z asynchronicznością w Node.js. W praktyce wygodniejsze od ogarnięcia tego własnoręcznie może być poleganie na zewnętrznej bibliotece takiej jak [async](https://npmjs.com/async) lub [after](https://npmjs.com/after). Na potrzeby tego ćwiczenia spróbuj jednak osiągnąć cel własnymi siłami.