Задержка поиска сделана через Thread.sleep внутри Task
searchTask?.cancel()
searchTask = Task {
Thread.sleep(forTimeInterval: 0.3)
guard !Task.isCancelled else { return }
results = try await api.search(query)
}
Код работает, но ревьюер просит заменить задержку. Что не так с Thread.sleep здесь?
- Он блокирует поток и не реагирует на отмену
- Thread.sleep не учитывает приоритет задачи
- Он задерживает на секунды, а не миллисекунды
- Замечание стилевое, поведение одинаковое
