Promise
var log = function(value){ console.log( value) ;}
Promise.resolve(1)
.then(it=> log(it) ) // 输出1
.then(it=> { log(it); return Promise.resolve(2); } ) //输出 undefined
.then(it=> { log(it); return 3 ;}) //输出2
.then(it=> { log(it) ; return Promise.reject(4) }) //输出3
.then(it=> log("OK") ) // 不会输出 OK
.catch(it=> { log(it) ; return Promise.resolve(5) ;}) //输出4
.then(it=> log(it) ) //输出 5
结论
then 里的返回值, 会传递给下一个 then 的入参
then 如果返回 Promise.resolve , 则下一个 then 的入参是 Promise.resolve 的值 .
then 如果返回 Promise.reject , 则执行一下 catch .
then 的执行是 串行执行.
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |