如何从角度js $ http服务中的PROMISE获得价值

时间:2016-09-12 06:12:00

标签: angularjs

如何通过$ http服务

从Promise返回值
>d {$$state: Object}
 $$state: Object
 status: 1
 value: Array[1]
 __proto__: Object
 __proto__: Object

如何在 d 对象中获取

s.states = '';
$http.get('/api/random').then(function(response) {
  s.states = response;
 }, function(error) {

}).finally(function() {

})
console.log(s.states);

显示上述结果。 $$说明如何从中获取价值?

1 个答案:

答案 0 :(得分:1)

如上所述:

promise.then(function(value) { 
      // Value contains the data received in the response
   }, function(error) {
      // This is called when error occurs.
   }
)

承诺本身不包含值。当它可用时,它返回将来的值(" promises"返回值)。当它变得可用(或不可用)时,传递给then()方法的两个回调之一被触发。 所以基本上,你应该这样打电话:

$http.get('/api/random').then(function(response) {
    // Do some stuff with response.
});

您可以将回调传递给finally()方法回调,无论成功与承诺中的错误如何,都会运行该回调。

$http.get('/api/random').then(function(response) {
    // This one is triggered in case of successful response.
}, function(error) {
    // This code runs in case of error
}).finally(function() {
    // And this block will be triggered anyway after the promise returns.
});