* Jordi Boggiano * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer\Util; use Composer\Util\HttpDownloader; use React\Promise\Promise; /** * @author Jordi Boggiano */ class Loop { private $io; public function __construct(HttpDownloader $httpDownloader) { $this->httpDownloader = $httpDownloader; } public function wait(array $promises) { $uncaught = null; \React\Promise\all($promises)->then( function () { }, function ($e) use (&$uncaught) { $uncaught = $e; } ); $this->httpDownloader->wait(); if ($uncaught) { throw $uncaught; } } }