7.4.6 IteratorClose ( iterator, completion )

抽象操作 IteratorClose 拥有参数 iterator completion ,用于通知迭代器它应该执行它通常在其达到完成状态时执行的任何操作:

  1. 断言:Type(iterator) 为 Object 类型。
  2. 断言: completion 是一个 Completion Record。
  3. 使 return 变为 ? GetMethod(iterator, "return")。
  4. 如果return undefined,则返回 Completion(completion)。
  5. 使 innerResult 变为 Call(return, iterator, « »)。
  6. 如果 completion.[[Type]] 是一个 throw,则返回 Completion(completion)。
  7. 如果 innerResult.[[Type]] 是一个 throw,则返回 Completion(innerResult)。
  8. 如果 Type(innerResult.[[Value]]) 不是 Object 类型,则抛出一个 TypeError 错误。
  9. 返回 Completion(completion)。

results matching ""

    No results matching ""