关于axios异步请求的传值与返回值问题?

问题遇到的现象和发生背景

本人自学练手项目中,遇到断点续传的功能,要在分片全部上传完之后调用接口让后端合并分片,然后等待分片合并完成返回值给前端。
但是每次axios的返回值我不知道怎么通过方法返回给另一个axios请求里面的变量用于判断是否合并分片成功。
axios的异步async和await还未接触,不知道怎么用.

问题相关代码,请勿粘贴截图
upload(param){
    axios.post("/file/admin/upload", param).then((response) => {
                    Loading.hide();
                    const data = response.data;
                    if (data.success) {
                        if (shardIndex < shardTotal) {
                            //上传下一个分片
                            param.shardIndex +=1;
                            //递归
                            _this.upload(param);
                        } else {
                            //调用分片合并
                            if(_this.mergeShard(param)){  //这里返回为promise对象
                                //添加延时,否则前端先接收到数据文件url,后端合并还未完成。
                                // setTimeout(function () {
                                //     //调用暴露给组件外部的函数
                                //     _this.afterUpload(data);
                                // },500);
                                _this.afterUpload(data);
                            }else {
                                Toast.error("分片合并失败!");
                            }
                        }

                        let fileInfo = data.content;
                        console.log("上传文件信息: ", fileInfo);
                        // teacherinfo.value.image=image;
                        //清空控件中的值
                        $('#' + this.inputId + "-input").val("");
                    }
                });
},
 //合并分片
  mergeShard(param){
             //以下返回为promise对象。。。
             return  axios.post("/file/admin/merge", param).then((response)=>{
                  const data=response.data;
                  console.log(data);//返回值为true
                  return data;
              });
          }

运行结果及报错内容
我的解答思路和尝试过的方法

以下为自己的尝试

mergeShard(){
                //以下返回为promise对象,不是boolean类型
                 // return axios.post("/file/admin/merge", param).then((response) => {
                 //               const data = response.data;
                //                console.log(data); //这里返回信息为true
                 //               return data;
                 //           });

                 //以下返回undefined
                  let flag;
                            axios.post("/file/admin/merge", param).then((response) => {
                               const data = response.data;
                               console.log(data); //这里返回信息为true
                               flag=data;
                           });
                            return flag;
            }

async mergeShard(){
                             //以下返回promise对象
                          const response= await axios.post("/file/admin/merge", param);
                          const data = response.data;
                          console.log(data); //这里返回信息为true
                          return data;
            }

我想要达到的结果

mergeShard{}能成功返回axios请求的值。
在upload方法中 if(_this.mergeShard(param)){} 可以成功判断true或false.

怀疑题主是机器人,这个问题问两次了,有人回答也没有回复,过30分钟左右加些东西又问一遍?

upload(param) {
  axios.post("/file/admin/upload", param).then((response) => {
    Loading.hide();
    const data = response.data;
    if (data.success) {
      if (shardIndex < shardTotal) {
        //上传下一个分片
        param.shardIndex += 1;
        //递归
        _this.upload(param);
      } else {
        // 这里修改了 
        _this.mergeShard(param).then(res => {
          const data = response.data;
          console.log(data);//返回值为true
          //调用分片合并
          if (data) {
            //添加延时,否则前端先接收到数据文件url,后端合并还未完成。
            // setTimeout(function () {
            //     //调用暴露给组件外部的函数
            //     _this.afterUpload(data);
            // },500);
            _this.afterUpload(data);
          } else {
            Toast.error("分片合并失败!");
          }
        })
      }

      let fileInfo = data.content;
      console.log("上传文件信息: ", fileInfo);
      // teacherinfo.value.image=image;
      //清空控件中的值
      $('#' + this.inputId + "-input").val("");
    }
  });
},
//合并分片
mergeShard(param) {
  //以下返回为promise对象。。。
  // 这里修改了 
  return axios.post("/file/admin/merge", param)
}

js Promise与async/await用法:https://blog.csdn.net/weixin_43877799/article/details/121536943