У меня есть пара функций, которая захватывает ajax запросов. Я получаю данные из запроса и помещаю в массив. Затем я перебираю этот массив в другой функции, например, чтобы передать данные в контекст. Это решение в основном работает, но это хороший способ сделать что-то?
Нет , вы вводите анти-шаблон под названием global state [себе] . Глобальное состояние является серьезным анти-паттерном, потому что делает программу непредсказуемой . В зависимости от предыдущих запросов список уже может содержать данные. Обычно запрос GET должен иметь никаких побочных эффектов. Изменяя списки, это уже не так.
Кроме того, в этом конкретном случае c это означает, что если один пользователь запрашивает данные, а затем другой пользователь делает запрос данных, данные Первый пользователь «просачивается» ко второму пользователю.
Но, тем не менее, даже если вам удастся сделать его более безопасным, глобальное состояние создает много трудностей. Они обсуждаются в посте по разработке программного обеспечения . Хотя вы, конечно, можете каждый раз стремиться исправить эти проблемы вручную, это приведет к большой работе и ошибкам, а, следовательно, к большим проблемам, чем оно того стоит.