promise async

复制代码
  async a() {
      // try {
      // await this.b();
      //   await this.c()
      //     .then((res) => {
      //       console.log(18);
      //       console.log(res);
      //     })
      //     .catch((err) => {
      //       console.log(18);
      //       console.log(err);
      //     });
      //
      // } catch (error) {
      //   console.log(1111);
      //   console.log(error);
      // }
      Promise.all([this.b(), this.c()])
        .then((res) => {
          console.log("res", res);
        })
        .catch((err) => {
          console.log("err", err);
        });
    },

    b() {
      console.log("方法b");
      return axios
        .get("http://xxx:0000")
        .then(function (res) {
          console.log(res);
          return res;
        })
        .catch(function (error) {
          console.log(error, "b失败");
          return 'error';
        });
    },
    c() {
      return new Promise((resolve, reject) => {
        console.log("方法c");
        reject("强制失败");
      });
    },


    async a() {
      try {
        await this.b()
          .then((res) => {
            console.log(18);
            console.log(res);
          })
          .catch((err) => {
            console.log(23);
            console.log(err);
          });
        await this.c()
          .then((res) => {
            console.log(18);
            console.log(res);
          })
          .catch((err) => {
            console.log(23);
            console.log(err);
          });
      } catch (error) {
        console.log("try catch");
        console.log(error);
        // 只返回先错误的;
      }
      // Promise.all([this.b(), this.c()])
      //   .then((res) => {
      //     console.log("成功", res); //都成功 结果数组
      //   })
      //   .catch((err) => {
      //     console.log("失败", err); //谁先失败返回谁
      //   });
    },

    b() {
      return new Promise((resolve, reject) => {
        console.log("方法b");
        resolve("bsucces");
        setTimeout(() => {
          reject("b强制失败");
        }, 10);
      });
    },
    c() {
      return new Promise((resolve, reject) => {
        console.log("方法c");
        reject("c强制失败");
      });
    },
 
复制代码

 

posted @   7c89  阅读(23)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示