You are here

private function EachPromise::advanceIterator in Lockr 7.3

2 calls to EachPromise::advanceIterator()
EachPromise::refillPending in vendor/guzzlehttp/promises/src/EachPromise.php
EachPromise::step in vendor/guzzlehttp/promises/src/EachPromise.php

File

vendor/guzzlehttp/promises/src/EachPromise.php, line 176

Class

EachPromise
Represents a promise that iterates over many promises and invokes side-effect functions in the process.

Namespace

GuzzleHttp\Promise

Code

private function advanceIterator() {

  // Place a lock on the iterator so that we ensure to not recurse,
  // preventing fatal generator errors.
  if ($this->mutex) {
    return false;
  }
  $this->mutex = true;
  try {
    $this->iterable
      ->next();
    $this->mutex = false;
    return true;
  } catch (\Throwable $e) {
    $this->aggregate
      ->reject($e);
    $this->mutex = false;
    return false;
  } catch (\Exception $e) {
    $this->aggregate
      ->reject($e);
    $this->mutex = false;
    return false;
  }
}