gpt4 book ai didi

javascript - 在同一 Controller Angular js中使用多个服务

转载 作者:行者123 更新时间:2023-12-03 06:18:29 25 4
gpt4 key购买 nike

我想在同一个 Controller 中使用多个服务。我可以使用下面提到的不同服务来实现,但它只执行一项服务

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl">

<H1>Random Text is:</H1>

<div>{{myRandom}}</div>

<p>MuyLocation:: {{myLocation}}.</p>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http, $location) {
$http.get("http://www.randomtext.me/api/").then(function (response) {
$scope.myRandom = response.data.text_out;
$scope.myLocation= $location.absUrl();
});
});
</script>

</body>
</html>

但是,我想在同一个 Controller 中使用这两种服务,如下所述

app.controller('myCtrl', function($scope, $http, $location) {

$http.get("welcome.htm").then(function (response) {
$scope.myWelcome = response.data;
$scope.myUrl = $location.absUrl();
});
});

那么我们如何在同一个 Controller 中执行这两种服务。

提前致谢。

最佳答案

我认为你可以通过 promise 链解决你的问题。

$http.get("http://www.randomtext.me/api/").then(function success(response) { 
return $q.resolve(response);
}, function error() {
return $http.get("welcome.htm");
}).then(function success(response) {
$scope.myWelcome = response.data;
$scope.myUrl = $location.absUrl();
});

如果调用 randomapi 失败,则获取welcome.html。

关于javascript - 在同一 Controller Angular js中使用多个服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38968188/

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