Ionic / AngularJS $资源超时配置设置不起作用

时间:2016-04-22 23:40:52

标签: angularjs get ionic-framework resources timeout

我一直在尝试为我的$资源设置超时值(以毫秒为单位),这样如果服务器在10 * 1000毫秒内没有响应,我希望我工厂中的服务返回错误承诺。 / p>

我的工厂有以下方法:

service.getDelta = $resource(BASE_API_URL + '/delta/:inTable/:inDate', 
{inTable: '@inTable', inDate: '@inDate'},
{query: {timeout: 10*1000}});

在控制器中,我执行以下操作:

getDataPromises.push(remoteService.getDelta.query({inTable: "table1", inDate: clientDateLastModified}).$promise);
getDataPromises.push(remoteService.getDelta.query({inTable: "table2", inDate: clientDateLastModified}).$promise);
getDataPromises.push(remoteService.getDelta.query({inTable: "table3", inDate: clientDateLastModified}).$promise);
getDataPromises.push(remoteService.getDelta.query({inTable: "table4", inDate: clientDateLastModified}).$promise);

然后我检查以确保一切成功或如果一个失败就处理错误。

$q.all(getDataPromises).then(
  function (result) {
    // NOTIFY SUCCESS
  },
  function (error) {
    // NOTIFY ERROR
  });

承诺的成功正如预期的那样成功。如果我省略了超时配置,我也会在404这样的问题的承诺中得到错误。但是当我添加超时时,我在错误回调中对错误对象进行字符串化时会得到以下内容:

{"line":13380,"column":32,"sourceURL":"file:///Users/ ... /www/lib/ionic/js/ionic.bundle.js"}

我是否误解了超时属性的使用?

我正在使用离子1.2.4,我认为它使用的是Angular 1.4.3。

注意:我知道这个用例并不能证明使用$ resource是合理的,可以使用$ http来完成,但是我希望能够感受到使用它,因为我打算开始使用这个应用程序。< / p>

谢谢!

0 个答案:

没有答案