Да, вызов этой функции имеет побочный эффект при отправке HTTP-запроса. Вызов этой функции может повлиять на результат другой функции (например, getSearchCount
), и эта функция может возвращать разные результаты при одинаковых входных значениях (например, сервер не доступен постоянно).
Однако это не значит, что это не подходит. Любая полезная программа Scala будет иметь побочные эффекты, но хитрость заключается в том, чтобы держать их как можно более ограниченными. Хорошо написанная программа Scala будет иметь богатый набор классов и функций, не имеющих побочных эффектов, и относительно легкий слой нефункционального кода, который их вызывает.
В этом случае, например, у вас должна быть простая функция, которая выполняет HTTP-запрос, и вторая функция, которая обрабатывает результаты. Функция обработки результатов может быть чистым функциональным кодом и может быть эффективно протестирована с фиктивными данными.