function getNumber(number){ var p = new Promise(function(resolve, reject, number){ //做一些异步操作 setTimeout(function(){ console.log('number:' + number); var num = number ? number : Math.ceil(Math.random()*10); //生成1-10的随机数 if(num<=5){ resolve(num); } else{ reject('数字太大了'); } }, 2000); }); return p; } getNumber(1) .then(function(data){ console.log('resolved'); console.log(data); }) .catch(function(reason){ console.log('rejected'); console.log(reason); });