Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 即使存在捕获处理程序,未处理的承诺拒绝_Javascript_Jquery_Promise_Es6 Promise - Fatal编程技术网

Javascript 即使存在捕获处理程序,未处理的承诺拒绝

Javascript 即使存在捕获处理程序,未处理的承诺拒绝,javascript,jquery,promise,es6-promise,Javascript,Jquery,Promise,Es6 Promise,我有一个像这样的ajax调用 const saveView = (name) => { let myWorkbook = tableauViz.getWorkbook() return myWorkbook.rememberCustomViewAsync(name) }; const createDashboardShare = (dashboard_id) => { return new Promise((resolve, reject) =

我有一个像这样的ajax调用

  const saveView = (name) => {
    let myWorkbook = tableauViz.getWorkbook()
    return myWorkbook.rememberCustomViewAsync(name)
  };


  const createDashboardShare = (dashboard_id) => {
    return new Promise((resolve, reject) => {
      jQuery.ajax({
        url: `/dashboards/${dashboard_id}/dashboard_shares`,
        dataType: 'json',
        method: 'POST',
        beforeSend: function(xhr) {
        },
        data: {
        },
        success: function(data) {
          resolve();
        },
        error: function(err) {
          reject(err);
        }
      });
    });
  };
我在下面的承诺链调用(相关代码)中使用它

如果在
createDashboardShare
中被拒绝,这将生成
未处理的承诺异常
,即使我定义了捕获


任何关于这为什么不能按预期工作的帮助都会很好。

您发布的代码片段中的catch子句具体在哪里?@GeorgiB.Nikolov-
。然后(null,function(err){…})
相当于catch可能是
jQuery.ajax
返回被拒绝的承诺,即使您传递了成功和错误处理程序?尝试返回
jQuery.ajax
,而不是将其包装在承诺中。还有,这是什么版本的jQuery?谢谢@Adam的回复,我会试试这个。Jquery版本是
1.12.4
@Adam如果我不把它包装在承诺中,我如何将数据转发到链中的下一个
  const process = () => {
    saveView(name)
      .then((view) => createDashboardShare(dashboardId, view.getUrl(), viewName))
      .then(null, function(err) {

      });
  };