Как добавить задержку между вызовами API в завершенииJAVA

Программисты JAVA общаются здесь
Anonymous
Как добавить задержку между вызовами API в завершении

Сообщение Anonymous »

РЕДАКТИРОВАТЬ: Я использую Java 8, поэтому не могу использовать исполнителя для добавления задержки. < /p>
Я должен позвонить в API несколько раз, чтобы получить набор данных. Я делаю это, используя opplyblefuture, как указано ниже. Здесь я на самом деле вызываю метод, который вызывает указанный API (

Код: Выделить всё

getStockConversionResponse
).

List completableFutureList = hbbConnectionDetail.stream()
.map(
connectionDetail -> CompletableFuture
.supplyAsync(
() -> getStockConversionResponse(connectionDetail, finalTeamLead, finalReceivePmsId),
configuration.stockConversionExecutor())
.thenAccept(stockDetailsList::add))
.collect(Collectors.toList());

CompletableFuture
.allOf(completableFutureList.toArray(
new CompletableFuture[completableFutureList.size()]
))
.get();

< /code>
Но проблема заключается в том, что их бэкэнд не может обрабатывать все запросы одновременно, поэтому некоторые запросы терпят неудачу. Поэтому они попросили выполнить вызовы API с 1 секундой задержкой между каждым вызовом.>

Подробнее здесь: https://stackoverflow.com/questions/737 ... ablefuture

Вернуться в «JAVA»