关于#向后端递归请求#的问题,如何解决?

向后端发送请求时使用递归限制不管用,会一直请求数据
circulation(num) {
      if (num <= 5) {
        setTimeout(() => {
          addrole({ roleName: "aaa", roleDesc: "aaa" }).then((res) => {
            if (res.data.meta.status == 201) {
              this.$message({
                message: res.data.meta.msg,
                type: "success",
              });
            }
          });
          num++;
          this.circulation(num);
        }, 3000);
      }
    }


    this.circulation(1);

运行会一直请求,怎么解决?求解答

只会请求 5次吧

  function a(num){
        if (num <= 5) {
        setTimeout(() => {
          num++;
          console.log(num)
          this.a(num);
        }, 300);
      }
    };
    this.a(1);

递归调接口真的是要坐牢了,千万不要这样搞。
函数是没错的,普通的语句可以被限制条件识别从而退出:

img