如何停止在.then阶段在提取中执行脚本?

时间:2019-03-11 17:22:20

标签: javascript fetch

如何停止在.then阶段中执行的脚本?如果response和response.text不为空,我希望脚本停止执行

fetch(url, {
  method: 'POST',
  body: data,
  credentials: 'include',
  })
  .then(response => response.text())
  .then(html => {
    if (html && html.length) {
      $('#modal-content').html('');
      $('#modal-content').append(html);
     //STOP here.
    }
  })
  .then(({ status }) => {
    if (status === 200) {
      document.location.reload(true);
    } 
  })

UPD:我最终将另一个if条件写入

  if (status === 200 && $('#notavailable-modal').length == 0) {
      document.location.reload(true);
    }

1 个答案:

答案 0 :(得分:0)

 throw "Stop!";

您可以拒绝返回的承诺,然后将不再执行.then处理程序。

或者您只需将两个.then合并为一个:

if (html && html.length) {
  $('#modal-content').html('');
  $('#modal-content').append(html);
  // no need to STOP here
} else if (status === 200) {
  document.location.reload(true);
}