Javascript 在承诺拒绝问题之后返回Get请求

Javascript 在承诺拒绝问题之后返回Get请求,javascript,promise,cancellation,Javascript,Promise,Cancellation,我有一个承诺: function ll_matching_process() { return new Promise(async (resolve, reject) => { cancel_button.onclick = function() { return reject(); } start_matching.onclick = async function() { mat

我有一个承诺:

    function ll_matching_process() {
      return new Promise(async (resolve, reject) => {
        cancel_button.onclick = function() {
          return reject();
        }

        start_matching.onclick = async function() {
          match_user = await $.getJSON('/match', { token: idToken, rejected });
          console.log(match_user);
        }
      })
    }
来自
start\u matching
的get请求需要很长时间才能执行

单击
start\u matching
后出现
cancel\u按钮
。换句话说,用户单击
开始匹配
,然后单击
取消按钮
。当我调用该函数时,如果已经单击了
cancel\u按钮
(这意味着已经单击了
start\u matching
,并将请求发送到后端),即使承诺被拒绝并返回,
$.getJSON(“/match”
请求仍然可以返回
match\u user
,并且即使整个承诺被拒绝,我也会得到一个
控制台。log
。我希望防止这种情况。例如,当承诺被拒绝时,即使get请求返回某些内容,它也不会进一步执行


我曾想过使用触发器,如果被拒绝,则将其转换为false,然后在承诺后检查触发器,如果是false,则返回,如果不是,则进一步执行。但是有更好的解决方案吗?

此链接提供了一个结构化的详细答案来取消承诺。