http://www.mocky.io/v2/55f7485935681951044b3dc6
http://www.mocky.io/v2/55f748b33568195d044b3dc8
http://www.mocky.io/v2/55f748ca3568195f044b3dc9
По этим 3 ссылкам хранятся разные ресурсы с данными.
- Написать функцию, которая посредством AJAX GET запросов загрузит данные параллельно и даст обработать момент, когда все запросы завершатся успешно. Вызвать функцию и в обработчике вывести в консоль все данные, когда все запросы завершатся.
- Написать функцию, которая посредством AJAX GET запросов загрузит данные последовательно по цепочке и даст обработать момент, когда последний запрос будет завершён успешно. Вызвать функцию и в обработчике вывести в консоль данные, которые придут в последнем запросе.
- Обработать ошибки в предыдущих 2 пунктах. Ошибки могут быть как в соединении, так и в самих данных. При ошибке, должна вызываться функция-обработчик ошибок. Выводите ошибки в консоль. Если хотя бы один запрос из всех завершился неудачей, то это считается за ошибку и её нужно вывести в консоль.
- Библиотеку для HTTP запросов либо самим написать функцию использования XmlHttpRequest
- Promise для асинхронных операций
В результате должно получится 2 вывода данных в консоль по результатам пунктов 1 и 2. При изменении адресов на неправильные должны выводиться обработанные ошибки. Браузер не должен сообщать о необработанных ошибках.
Код можно разбить на файлы как нравится. Можно даже в одном файле.
Соблюдать разделение обязанностей функций. Не перегружать их функциональностью, а разбивать на более мелкие. Используйте паттерны проектирования для инкапсуляции и создания тестируемого кода.