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']);

См. также