gpt4 book ai didi

javascript - 为什么我的 Promise 中的函数没有运行

转载 作者:行者123 更新时间:2023-11-28 18:26:07 25 4
gpt4 key购买 nike

我听说 $q 和 Promise 非常适契约(Contract)步编程。

我希望我的第二个函数在第一个超时的函数之后运行。所以基本上我希望 mt 第一个函数在我的第二个函数运行之前先完成运行

我的代码是:

<head>
<link rel="stylesheet" type="text/css" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
</head>

<body ng-app="myApp">
<div ng-controller="myCtrl">
<button ng-click="myClick()">Click Me!</button>
</div>
<script type="text/javascript">
angular.module('myApp', [])
.controller('myCtrl',['$scope', '$timeout', '$q', function($scope, $timeout, $q){
$scope.functionOne = function(){
return $q(function(resolve, reject){
$timeout(function(){
alert("dean");
}, 3000);
})
};
$scope.functionTwo = function(){
alert("armada");
}

$scope.myClick = function(){
var promise = $scope.functionOne();
promise.then(function(){
$scope.functionTwo();
}, function(){
alert("fail");
})
};
}]);
</script>
</body>

骗子:https://plnkr.co/edit/6hJF4mxrCQ17XXA43eUl?p=preview

最佳答案

promise 已创建但从未解决。但是you don't need it at all ! $timeout已经返回一个 promise :

$scope.functionOne = function(){
return $timeout(function(){
alert("dean");
}, 3000);
};

关于javascript - 为什么我的 Promise 中的函数没有运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39101464/

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