es6 proxy怎么用(ES6Promise使用经验)
ES6中,promise是经常使用的对象通过promise实例,可以实现对异步代码的封装,保证当异步代码执行完成后再执行后续处理代码,我来为大家科普一下关于es6 proxy怎么用?以下内容希望对你有帮助!
es6 proxy怎么用
ES6中,promise是经常使用的对象。
通过promise实例,可以实现对异步代码的封装,保证当异步代码执行完成后再执行后续处理代码。
Promise的基本使用
resolve函数的结果可以通过then()方法接收,reject函数的结果可以被catch()方法接收
- valid(){
- return new Promise((resolve,reject)=>{
- if(this.flag){
- return resolve(true)
- }
- this.$refs.form.validate((valid) => {
- if(valid){
- resolve(valid)
- }
- else{
- reject(valid);
- }
- })
- })
- }
因为element-ui中的表单自带validate操作是异步操作,所以我将校验方法封装在Promise实例中,当校验过程结束后调用then方法就可以执行后续的操作。
当promise对象实例化的时候,就会执行promise内部的代码。
注意,promise实例只能保证其内部的异步操作执行完成后,再被then或者catch方法捕捉。
如下所示。
- let valid = this.valid();
- console.log("第一步")
- valid.then((value)=>{
- console.log("第三步")
- console.log("校验完成,校验结果无误")
- }).catch((error)=>{
- console.log("校验校验完成,校验结果有误")
- })
- console.log("第二步")
Promise.all()和Promise.race()
all和race方法,都是接收一个promise实例数组。
all方法是按照数组中的顺序进行执行promise操作,race方法并不能确定。
区别在于,all方法是当所有的promise执行完成后才会进入then或者有一个rejcet后进入catch;而race方法是由第一个promise完成的状态来决定。
race方法,个人用的比较少,不做多的分享。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com