Как отменить цепочку обещаний в Reactionphp?
Я пытаюсь установить тайм-аут для цепочки асинхронных операций в actphp.
Я пытался просто передать цепочку обещаний в обещание тайм-аута, но как только первое обещание в цепочке выполнено, тайм-аут теряет свой эффект.
<?php
use function React\Promise\Timer\resolve;
$promise = resolve(1, $loop)->then(function () use ($loop) {
echo 'promise 1' . PHP_EOL;
return resolve(5, $loop)->then(function () {
echo 'promise 1.1' . PHP_EOL;
});
})->then(function() use ($loop) {
echo 'promise 2' . PHP_EOL;
});
\React\Promise\Timer\timeout($promise, 2, $loop);
$loop->run();
ожидаемый
promise1
фактический
promise1
promise1.1
promise2