zoukankan      html  css  js  c++  java
  • Promise链式调用 终止或取消

    Promise回调分两种方法,then成功,catch失败

    let promise = new Promise(function(resolve, reject){
        resolve('第一次成功')
    })
    
    promise.then(function(val) {
        // 两种方法意思都代表报错,【中断下一步,直接报错
      //第一种方法
        throw new error()
      // 第二种方法
      return Promise.reject()
    }).then(function(val) { console.log(
    '被跳过的方法') }).catch(function(val) { console.log('返回失败') })

    第三种方法有点粗暴,但也是目前看来可解决的可行办法

    let promise = new Promise(function(resolve, reject){
        resolve('第一次成功')
    })
    
    promise.then(function(val) {
      //第三种方法
        return new Promise(()=>{})
    }).catch(function(val) {
        console.log('返回失败')
    }).then(function(val) {
        console.log('被跳过的方法')
    })

    前两种如果链式调用最后以失败结尾的话是可行的,如果以成功结尾就会出问题,第三种方法是直接阻断性,讲进程转到新的Promise

    目前只想到三种方法,但本人认为这不是最好的解决办法,后续如果后小伙伴发现更好的办法可以评论哦

  • 相关阅读:
    Struts2异常:HTTP Status 404
    Struts2的Action编写
    Struts2异常:HTTP Status 404
    Struts2的核心配置文件
    Struts2入门1
    Hibernate的批量抓取
    Hibernate检索策略
    Hibernate的HQL多表查询
    Hibernate入门4
    Hibernate异常:MappingException
  • 原文地址:https://www.cnblogs.com/gqx-html/p/10967412.html
Copyright © 2011-2022 走看看