From d4730c162d1f716a84af24336a986099847d3ec6 Mon Sep 17 00:00:00 2001 From: jim Date: Mon, 29 Feb 2016 17:52:43 -0800 Subject: [PATCH] Updated code fragment for correctness. --- _posts/2015-12-16-ismounted-antipattern.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/_posts/2015-12-16-ismounted-antipattern.md b/_posts/2015-12-16-ismounted-antipattern.md index b258e92e2..6390baa04 100644 --- a/_posts/2015-12-16-ismounted-antipattern.md +++ b/_posts/2015-12-16-ismounted-antipattern.md @@ -60,14 +60,17 @@ Where `makeCancelable` is [defined by @istarkov](https://github.com/facebook/rea const makeCancelable = (promise) => { let hasCanceled_ = false; + const wrappedPromise = new Promise((resolve, reject) => { + promise.then((val) => + hasCanceled_ ? reject({isCanceled: true}) : resolve(val) + ); + promise.catch((error) => + hasCanceled_ ? reject({isCanceled: true}) : reject(error) + ); + }); + return { - promise: new Promise( - (resolve, reject) => promise - .then(r => hasCanceled_ - ? reject({isCanceled: true}) - : resolve(r) - ) - ), + promise: wrappedPromise, cancel() { hasCanceled_ = true; },