Skip to content

Instantly share code, notes, and snippets.

@kaja47
Created December 29, 2012 16:19
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kaja47/4407844 to your computer and use it in GitHub Desktop.
Save kaja47/4407844 to your computer and use it in GitHub Desktop.
React.PHP promise timeout
<?php
use React\Promise\Deferred;
function timeout($time, $promise, $loop) {
$defer = new Deferred;
$r = $defer->resolver();
$sig = $loop->addTimer($time, function() use($r) {
$r->reject('timeout');
});
$promise->then(
function ($x) use($r, $sig) { $loop->cancalTimer($sig); $r->resolve($x); },
function ($e) use($r) { $r->reject($e); }
);
return $defer->promise();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment