Есть три варианта развития событий:
1. Кто-то бесплатно составит подробное ТЗ, оценит его и назовет вам стоимость.
2. Стоимость возьмут с потолка.
3. То, что описал Владимир Мартьянов.
Первый вариант не только маловероятен, но как раз и подпадает под формулировку "задание".
Второй вариант не принесет пользы ни вам, ни ресурсу.
С третьим итак всё ясно.
И именно потому, что тут не биржа фрилансеров, подобным вопросам здесь не место.
Может, вы лучше задачу свою опишете нормально? Ногу себе отпилить всегда успеете, но наверняка можно просто почесать конкретно в том месте, где чешется.
Для обработки ошибок существует fail. Но если у вас запросы могут не выполниться, то решение с when вам не подойдет - вам нужно изучить промисы и придумать такую схему их использования, которая подойдет для вашей конкретной ситуации.
requests - это массив всех запросов, окончания которых нужно дождаться. А $xhr - это Deferred объект, который возвращают все ajax-вызовы. Лучше, чем в официальнойдокументации я не объясню.
Именно для них я комментарии и пишу. Ваше решение, на самом деле, приемлемо только для очень узкого спектра задач. Но даже для этого спектра промисы - гораздо лучше решение. Программы, построенные на использовании побочных эффектов очень ненадежны.
Всё равно это хак. Если параллельно с теми запросами будет запущен еще какой-то долгий, то нужная функция не выполнится до тех пор, пока он не закончится - это не соответсвует условиям задачи.
Ну и вдобавок нужно как-то отфильтровывать все прочие запросы.
badicean: качественные тесты сложно писать при плохой архитектуре, да. Но к codeception это никакого отношения не имеет. И наоборот, изучение codeception никак не коррелирует с DDD.
Igor Karachentsev: по SLA время ответа - 6 часов, если мне память не изменяет. Ни разу еще быстрее 3-х часов ответа не получал. Ну и, разумеется, нужно пройти несколько раундов переписки - в зависимости от кривости объяснений инициатора и скорости соображения специалиста поддержки. В лучшем случае, проблема решится в течение дня. По факту - 2-3.