Index: src/js/promise.js |
diff --git a/src/js/promise.js b/src/js/promise.js |
index 75ec6e1c57683f56c9107e5f8754590b532c46d3..47d07e4ba484a8a09697c651efd71205a31ef3a9 100644 |
--- a/src/js/promise.js |
+++ b/src/js/promise.js |
@@ -52,30 +52,7 @@ const kRejected = +2; |
// ES#sec-createresolvingfunctions |
// CreateResolvingFunctions ( promise ) |
function CreateResolvingFunctions(promise, debugEvent) { |
adamk
2016/11/08 18:09:55
Why do we still need this wrapper function?
gsathya
2016/11/08 20:03:19
Done.
|
- var alreadyResolved = false; |
- |
- // ES#sec-promise-resolve-functions |
- // Promise Resolve Functions |
- var resolve = value => { |
- if (alreadyResolved === true) return; |
- alreadyResolved = true; |
- ResolvePromise(promise, value); |
- }; |
- |
- // ES#sec-promise-reject-functions |
- // Promise Reject Functions |
- var reject = reason => { |
- if (alreadyResolved === true) return; |
- alreadyResolved = true; |
- %PromiseReject(promise, reason, debugEvent); |
- PromiseSet(promise, kRejected, reason); |
- }; |
- |
- return { |
- __proto__: null, |
- resolve: resolve, |
- reject: reject |
- }; |
+ return %create_resolving_functions(promise, debugEvent); |
} |
@@ -307,8 +284,8 @@ function ResolvePromise(promise, resolution) { |
} |
// Only used by async-await.js |
-function RejectPromise(promise, reason) { |
- %PromiseReject(promise, reason, false); |
+function RejectPromise(promise, reason, debugEvent) { |
+ %PromiseReject(promise, reason, debugEvent); |
PromiseSet(promise, kRejected, reason); |
} |
@@ -643,6 +620,8 @@ utils.InstallFunctions(GlobalPromise.prototype, DONT_ENUM, [ |
"promise_create", PromiseCreate, |
"promise_has_user_defined_reject_handler", PromiseHasUserDefinedRejectHandler, |
"promise_reject", DoRejectPromise, |
+ //TODO(gsathya): Remove this once we update the promise builtin. |
+ "promise_internal_reject", RejectPromise, |
"promise_resolve", ResolvePromise, |
"promise_then", PromiseThen, |
"promise_handle", PromiseHandle, |