网站制作 公开课,如何注册网站,国内规划设计公司排名,哈尔滨网站建设有哪些Promise 是一个构造函数#xff0c;本身身上有 all、reject、resolve 这几个方法#xff0c;原型上有 then、catch 等方法。所以 Promise new 出来的对象确定就有 then、catch 方法。Promise 的构造函数接收一个参数#xff0c;是函数#xff0c;而且传入两个参数#xff…Promise 是一个构造函数本身身上有 all、reject、resolve 这几个方法原型上有 then、catch 等方法。所以 Promise new 出来的对象确定就有 then、catch 方法。Promise 的构造函数接收一个参数是函数而且传入两个参数resolvereject分别表示异步操做执行成功后的回调函数和异步操做执行失败后的回调函数。let p1 new Promise((resolve, reject) {resolve(成功)
})let p2 new Promise((resolve, reject) {resolve(success)
})let p3 Promse.reject(error)Promise.all([p1, p2]).then((result) {console.log(result) //[成功,success]
}).catch((error) {console.log(error)
})Promise.all([p1,p3,p2]).then((result) {console.log(result)
}).catch((error) {console.log(error) // error
})reject 的用法then方法能够接受两个参数第一个对应 resolve 的回调第二个对应 reject 的回调。因此咱们可以分别拿到他们传过来的数据。catch 的用法和 then 的第二个参数同样用来指定 reject 的回调。即使是有错误的代码也不会报错与 try/catch 语句有相同的功能。all 方法的用法Promise 的 all 方法提供了并行执行异步操做的能力而且在全部异步操做执行完后才执行回调。all 会把全部异步操做的结果放进一个数组中传给 then 能够并行执行多个异步操做而且在一个回调中处理全部的返回数据。需要特别注意的是Promise.all获得的成功结果的数组里面的数据顺序和Promise.all接收到的数组顺序是一致的即p1的结果在前即便p1的结果获取的比p2要晚。这带来了一个绝大的好处在前端开发请求数据的过程中偶尔会遇到发送多个请求并根据请求顺序获取和使用数据的场景使用Promise.all毫无疑问可以解决这个问题。下面是项目中用到的因为页面中用到了多个form表单 保存时先表单验证 每一个表单验证通过才在会then方法里触发保存接口