Testing.prototype.Bob = function() { let dp = new tts.DeferredPromise(); tts.when([this.loadLeft(), this.loadRight()]).then(val=>{ dp.resolve("All Done"); }); return dp; }; Testing.prototype.loadLeft = function() { let dp = new tts.DeferredPromise(); console.log("Left"); dp.resolve(); return dp; }; Testing.prototype.loadRight = function() { let dp = new tts.DeferredPromise(); dp.then(val=>{ alert(this.tab); }); dp.resolve(); return dp; };