Promise对象: 一个占位符, 暂时替代那些尚未计算出但未来会计算出的值 ;
当
回调函数发生错误时,无法用内置构造函数来处理。try{getJson('url',function(){// handle}}catch{e}{ // handle errors }
- 导致这个问题的原因在于:调用回调函数的代码一般不会和开始任务中这段代码位于事件循环的同一步骤;因此
错误经常会丢失。
互相依赖的一系列异步回调任务,会造成回调地狱,难以管理;执行多个
并行任务很棘手调用
Promise构造函数来立即调用传入的函数return new Promsie((res,rej)=>{ })// 先执行new操作,再return返回// 同时,调用Promise构造函数会立即调用传入的函数
调用
then方法后会再返回一个新的Promise对象,因此可以链式调用许多的then方法
