繁体   English   中英

Angular Promises和DataService

[英]Angular Promises and DataService

我有一个角度数据服务,看起来像这样:

//dataservice.js
export class DataService {
    constructor($rootScope, $http, $q, $log) {
        $log.info('DataService constructor', this);
        this.$http = $http;
    }
        fetch(url){
        return this.$http.jsonp(url, {params: {callback: 'JSON_CALLBACK'}});
    }

 }

如果我从我的控制器这样调用:

DataService.fetch('https://passbook-manager.jsapps.io/api/v1/passes');

它返回如下所示的承诺:

 Promise {$$state: Object, success: function, error: function, then: function, catch: function…}$$state: Objecterror: function (fn) {success: function (fn)  {__proto__: Object

如何获得承诺的价值并将其返回,以便更新我的范围?

我已经尝试过了,但是它不返回任何数据:

DataService.fetch('https://passbook-manager.jsapps.io/api/v1/passes').then(function( val ) {
  $scope.val = val;
  console.log(val) 
});

好的,所以@dfsq解释的问题是API。 它不支持JSONP。 将我的代码更改为:

  return this.$http.get(url, {params: {callback: 'JSON_CALLBACK'}}); 

然后,它运行完美。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM