I want to document an interesting pattern we’ve seen emerge in some recent web platform specs, including promises and streams. I’m calling it the revealing constructor pattern. The Promises Example Let’s take the case of promises first, since that may be familiar. You can construct a new promise like so: var p = new Promise(function (resolve, reject) { // Use `resolve` to resolve `p`. // Use `reje