我正在阅读一本名为Angular 2 Cookbook的教科书。在第四章中有一个链接的承诺部分,其具有下面的代码JavaScript承诺链接
const incr = val => { console.log(val); return ++val;};
var outerResolve;
const firstPromise = new Promise((resolve,reject) => { outerResolve = resolve;});
firstPromise.then(incr);
const secondPromise = firstPromise.then(incr);
const thirdPromise = secondPromise.then(incr);
outerResolve(0);
显示的输出
//0 0 0 1 1 2
//According to me output should be 0 0 1
能有人请解释在书上给定结果我对这个重要概念的理解有错吗?
没有什么在这个例子中,这将是具体到角。 – estus
好吧,测试一下,看看会发生什么。书有时是错的。 outerResolve的这种用法,不是从传递给promise构造函数的回调函数内部解析,而是显示出对本书中承诺缺乏理解。 –
好的我正在测试它 –