从未调用 Breeze 的 errorCallback 函数

Breeze's errorCallback function is never called

如果我使用 breeze 的 executeQuery 方法(Breeze 版本为 1.6.3)调用 Web API 方法(抛出异常),则永远不会调用 errorCallback 函数。

var eq = new breeze.EntityQuery('TestError'); 
manager.executeQuery( 
    eq, 
    function(data) { console.log('success') }, 
    function(err) { console.log('error') }
);

这是api方法

[HttpGet] 
public void TestError() { 
    throw new Exception("test exception"); 
}

它也不适用于所描述的内容 here(请参阅 executeQuery 方法)

我的应用程序使用 Aurelia 和 aurelia-breeze 插件,我想这个问题的发生是因为 aurelia-breeze 用 ES6 Promises 替换了 Q。 无论如何都可以调用 errorCallback 吗?还是我做错了什么?

Here is my original post on the aurelia-breeze github page

我已经解决了它(至少我是这么认为的),方法是在 aurelia-breeze 的源文件的内部 Promise 中添加一个额外的 .catch() 。详情here