gpt4 book ai didi

javascript - Angular 工厂只返回部分资源响应

转载 作者:行者123 更新时间:2023-11-30 16:13:22 25 4
gpt4 key购买 nike

我有一个 Angular 工厂 DogePrice:

.factory('DogePrice', ['$resource', function ($resource) {
return $resource("https://chain.so/api/v2/get_info/DOGE");
}])

典型的 api 响应是这样的:

{
"status" : "success",
"data" : {
"name" : "Dogecoin",
"acronym" : "DOGE",
"network" : "DOGE",
"symbol_htmlcode" : "Ð",
"url" : "http://www.dogecoin.com/",
"mining_difficulty" : "18661.80200222",
"unconfirmed_txs" : 7,
"blocks" : 1119625,
"price" : "0.00000046",
"price_base" : "BTC",
"price_update_time" : 1453938374,
"hashrate" : "1289658619826"
}
}

Here is the JSfiddle example

如何创建一个只返回 data.price 字段的工厂?我想要一个干净的 Controller ,只有 $scope.price = DogePrice.get(); 或类似的东西。

最佳答案

请使用 $resource 对象的 promise 返回。在这种情况下,您应该使用 promise 模式从工厂获取数据。

工厂

.factory('DogePrice', ['$resource', function ($resource) {
var myResource = $resource("https://chain.so/api/v2/get_info/DOGE")
var getData = function(){
return myResource.get().$promise.then(function(response){
//here you have control over response
//you could return whatever you want from here
//also you could manipulate response OR validate data
return response.data;
});
}
return {
getData: getData
}
}])

Controller

DogePrice.getData().then(function(data){
$scope.price = data;
});

关于javascript - Angular 工厂只返回部分资源响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35889060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com