You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
newPromise(function(resolve,reject){console.log('start excutor');resolve(100);console.log('after resolve');}).then(function(data){console.log('success',data);},function(error){console.log('error',error);});console.log('start before then');// start excutor// after resolve// start before then// success 100
newPromise(function(resolve,reject){throwTypeError('type is not support')}).then(function(data){console.log(data);},function(error){console.log('error:',error)// 走到这里 error, TypeError: type is not support}).then(function(data){console.log('here',data)// 走到这里 here undefined, 因为上一个rejected回调没有拒绝,默认走resolved回调; 没有显示return一个值,采用默认的undefined})
可以用catch而不是reject回调来捕获这个拒绝
newPromise(function(resolve,reject){reject('type is not support')}).catch(function(data){console.log('catch',data)// 走到这里 catch type is not support})
catch和reject回调可以共存,捕获才去就近原则
newPromise(function(resolve,reject){reject('type is not support')}).then(function(data){console.log('success',data);},function(error){console.log('error',error);// 走到这里不走catch; error type is not support}).catch(function(data){console.log('catch',data);})newPromise(function(resolve,reject){reject('type is not support')}).catch(function(data){console.log('catch',data);// 走到这里 catch type is not support}).then(function(data){console.log('success',data);// 走到这了 success undefined 前一个catch默认使用return undefined},function(error){console.log('error',error);})
1.Promise包含三种状态,pending, fullfilled, rejected
2.Promise 的优缺点
3.Promise的特点
4.关于then
5.Promise的拒绝捕获
6.Promise.resolve(value)将value封装并 返回一个Promise对象
Promise.resolve(value)是下列代码的简写
7.Promise.reject(reason)返回一个带有拒绝理由reason的promise
8. Promise中的静态方法 Promise.race 和Promise.all
下面列出了Promise.all的源代码实现:
下面是Promise.race的实现
9.Promise.finally的实现
The text was updated successfully, but these errors were encountered: