Future::ignore
(PHP 8.6+, True Async 1.0)
public function ignore(): Future
Помечает Future как игнорируемый. Если Future завершится с ошибкой и она не будет обработана, ошибка не будет передана в обработчик необработанных исключений event loop. Полезно для “fire-and-forget” задач, где результат не важен.
Возвращаемое значение
Future — возвращает тот же Future для цепочки вызовов.
Примеры
Пример #1 Игнорирование ошибок Future
<?php
use Async\Future;
// Запускаем задачу, ошибки которой нас не интересуют
\Async\async(function() {
// Эта операция может завершиться с ошибкой
sendAnalytics(['event' => 'page_view']);
})->ignore();
// Ошибка не будет передана в event loop handler
Пример #2 Использование ignore с цепочкой методов
<?php
use Async\Future;
function warmupCache(array $keys): void {
foreach ($keys as $key) {
\Async\async(function() use ($key) {
$data = loadFromDatabase($key);
saveToCache($key, $data);
})->ignore(); // Ошибки кэширования не критичны
}
}
warmupCache(['user:1', 'user:2', 'user:3']);
См. также
- Future::catch — Обработка ошибки Future
- Future::finally — Callback при завершении Future