1 // 函数功能:1秒以后创建一个10以内的随机整数,并判断这个数是否为偶数;如果是偶数则做一件事情,如果是奇数则做另一件事情 2 function doSomthing() { 3 var promise = new Promise(function (resolve, reject) { 4 setTimeout(function () { 5 const num = Math.round(Math.random() * 10); 6 if (num % 2 === 0) { 7 resolve(num); 8 } else { 9 reject(num); 10 } 11 }, 1000); 12 }); 13 return promise; 14 }
1 // 调用方法,得到Promise对象,并在Promise中的事情执行完成之前,预先指定成功和失败的回调函数 2 // 成功和失败的回调函数,分别对应new这个Promise对象时,传递的匿名function中的resolve和reject这两个形参 3 doSomthing().then(function (val) { 4 console.log(‘第一次偶数:‘ + val); 5 return doSomthing(); // 当事情处理完毕之后,可以return一个新的Promise对象,并继续使用.then指定下一次的回调函数 6 }, function (val) { 7 console.log(‘第一次奇数:‘ + val); 8 return doSomthing(); 9 }).then(function (val) { 10 console.log(‘第二次偶数:‘ + val); 11 return doSomthing(); 12 }, function (val) { 13 console.log(‘第二次奇数:‘ + val); 14 return doSomthing(); 15 }).then(function (val) { 16 console.log(‘第三次偶数:‘ + val); 17 }, function (val) { 18 console.log(‘第三次奇数:‘ + val); 19 });
原文:http://www.cnblogs.com/liulongbinblogs/p/6731288.html