let p = new Promise((resolve, reject) => {
setTimeout(function(){
var num = Math.ceil(Math.random()*10); //生成1-10的随机数
if(num <= 5){
resolve(num);
}
else{
reject('数字太大了');
}
}, 2000);
});
// p.then((data) => {
// console.log('resolved', data)
// }, (err) => {
// console.log('rejected',err)
// })
p.then((data) => {
console.log('resolved', data)
console.log(somedata)
}).catch((err) => {
console.log('rejected',err)
})
// 在resolve的回调中,我们console.log(somedata);而somedata这个变量是没有被定义的。如果我们不用Promise,代码运行到这里就直接在控制台报错了,不往下运行了。但是在这里,会得到这样的结果
console