Promise同步操作【正确接着走】

      //example0
      const promise = new Promise((resolve, reject) => {
        setTimeout(() => {
          const random = Math.random();
          if (random > 0.5) {
            resolve(random);
          } else {
            reject(random);
          }
        }, 1000);
      });
      promise.then((value) => {
        console.log('success', value);
      }).catch((error) => {
        console.log('fail', error);
      })
      //example1
      function sleep(wait) {
        return new Promise((res, rej) => {
          setTimeout(() => {
            this.num = 1;
            res(wait);
          }, wait);
        });
      }
      sleep(100).then(result => {
        return sleep(result + 100);
      }).then(result02 => {
        return sleep(result02 + 100);
      }).then(result03 => {
        console.log(result03);
      })
      //example2
      relations() { //  发送添加客户关系
        return new Promise(resolve => {
          const params = {
            "data": this.componentData
          }
          this.http(JSON.stringify(params)).then(res => {
            // console.log('发送添加客户关系', res.data)
            if (res) {
              this.deleteChildPlan()
              this.delCouplePension()
              resolve(true)
            }
          }).catch(err => {
            // console.log(err)
          })
        })

      },
      this.relations().then(res => {
        if (!res) return
        // this.$main.openModule({
        //     component: "CustomerFinancialInfo",
        //     title: "财务信息"
        // });
        this.addCustSupple()
      })

 

你可能感兴趣的:(web前端)