Я видел этот анти-паттерн во многих местах, поддерживая некоторый код для приложения Android, и я не знаю, как его назвать.По сути, function1
- это асинхронная функция, за которой следует function2
.Вместо ввода function2
в обратный вызов, который будет выполнен после завершения function1
, программист решил сначала запланировать отложенный вызов на function2
с произвольным временем, а затем вызвать function1
.
void foo() {
// delayed call to function2
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
function2();
}
}, 1000);
// call function1
function1();
}
Я могу только предположить, что это было сделано, потому что это проще и быстрее, чем определение интерфейса, который принимает обратные вызовы.Я просто хочу знать, есть ли у него имя и, возможно, какая-то конкретная документация о том, как правильно справиться с этой ситуацией.