diff --git a/spec.html b/spec.html index 3edfa4e171..f47d8b0dbe 100644 --- a/spec.html +++ b/spec.html @@ -7388,9 +7388,12 @@

1. If _method_ is not *undefined*, then 1. Let _closure_ be a new Abstract Closure with no parameters that captures _method_ and performs the following steps when called: 1. Let _O_ be the *this* value. - 1. Perform ? Call(_method_, _O_). - 1. Return *undefined*. - 1. NOTE: This function is not observable to user code. It is used to ensure that a Promise returned from a synchronous `@@dispose` method will not be awaited. + 1. Let _promiseCapability_ be ! NewPromiseCapability(%Promise%). + 1. Let _result_ be Completion(Call(_method_, _O_)). + 1. IfAbruptRejectPromise(_result_, _promiseCapability_). + 1. Perform ? Call(_promiseCapability_.[[Resolve]], *undefined*, « *undefined* »). + 1. Return _promiseCapability_.[[Promise]]. + 1. NOTE: This function is not observable to user code. It is used to ensure that a Promise returned from a synchronous `@@dispose` method will not be awaited and that any exception thrown will not be thrown synchronously. 1. Return CreateBuiltinFunction(_closure_, 0, *""*, « »). 1. Else, 1. Let _method_ be ? GetMethod(_V_, @@dispose).