es6 proxy怎么用(ES6Promise使用经验)

ES6中,promise是经常使用的对象通过promise实例,可以实现对异步代码的封装,保证当异步代码执行完成后再执行后续处理代码,我来为大家科普一下关于es6 proxy怎么用?以下内容希望对你有帮助!

es6 proxy怎么用(ES6Promise使用经验)

es6 proxy怎么用

ES6中,promise是经常使用的对象。

通过promise实例,可以实现对异步代码的封装,保证当异步代码执行完成后再执行后续处理代码。

Promise的基本使用

resolve函数的结果可以通过then()方法接收,reject函数的结果可以被catch()方法接收

  1. valid(){
  2. return new Promise((resolve,reject)=>{
  3. if(this.flag){
  4. return resolve(true)
  5. }
  6. this.$refs.form.validate((valid) => {
  7. if(valid){
  8. resolve(valid)
  9. }
  10. else{
  11. reject(valid);
  12. }
  13. })
  14. })
  15. }

因为element-ui中的表单自带validate操作是异步操作,所以我将校验方法封装在Promise实例中,当校验过程结束后调用then方法就可以执行后续的操作。

当promise对象实例化的时候,就会执行promise内部的代码。

注意,promise实例只能保证其内部的异步操作执行完成后,再被then或者catch方法捕捉。

如下所示。

  1. let valid = this.valid();
  2. console.log("第一步")
  3. valid.then((value)=>{
  4. console.log("第三步")
  5. console.log("校验完成,校验结果无误")
  6. }).catch((error)=>{
  7. console.log("校验校验完成,校验结果有误")
  8. })
  9. console.log("第二步")

Promise.all()和Promise.race()

all和race方法,都是接收一个promise实例数组。

all方法是按照数组中的顺序进行执行promise操作,race方法并不能确定。

区别在于,all方法是当所有的promise执行完成后才会进入then或者有一个rejcet后进入catch;而race方法是由第一个promise完成的状态来决定。

race方法,个人用的比较少,不做多的分享。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页