Javascript 如何在角度捕捉块中传递参数

Javascript 如何在角度捕捉块中传递参数,javascript,angularjs,Javascript,Angularjs,我想看看这是否可行,如果可行,如何实现。在Angular的.catch块中,我希望我的handleError回调并传递一个id。但是不管调用哪个函数,我都知道它,因为承诺是如何形成的。但我希望有一种方法可以在不事先调用函数的情况下仍然传入参数 //控制器 函数句柄错误(id){ 发送信息(id); } 呼叫工厂 。然后(更新) .catch(把手错误) .最后(clearLoader); //我想用这样的东西。 呼叫工厂 。然后(更新) .catch(handleError(2))//不管如何都

我想看看这是否可行,如果可行,如何实现。在Angular的
.catch
块中,我希望我的handleError回调并传递一个id。但是不管调用哪个函数,我都知道它,因为承诺是如何形成的。但我希望有一种方法可以在不事先调用函数的情况下仍然传入参数

//控制器
函数句柄错误(id){
发送信息(id);
}
呼叫工厂
。然后(更新)
.catch(把手错误)
.最后(clearLoader);
//我想用这样的东西。
呼叫工厂
。然后(更新)
.catch(handleError(2))//不管如何都会调用它
.最后(clearLoader);

catch
的第一个参数始终是抛出的异常。您可能会通过闭包方法实现所需的功能。比如:

function handleError(id) {
  return function(err) {
    // access to both err and id
}
或者,您可以
.catch
中抛出
id,然后它将被下一个
catch
拾取

.catch(err=> { throw id })
.catch(id=> ... )

使用一个函数工厂,返回一个自定义版本的
handleError
,该
catch
可以调用。是的,这就是我目前拥有的。只是好奇上面是否可能。关闭FTW!谢谢,奥斯汀。