gpt4 book ai didi

javascript - 在点击事件之前完整处理http get请求

转载 作者:行者123 更新时间:2023-12-03 05:43:05 24 4
gpt4 key购买 nike

我有以下 JavaScript 代码:-

$scope.fav_bill_details=function (id1,id2,bill_id) {
document.getElementById(id2).style.display="none";
$scope.getActiveBill();
document.getElementById(id1).style.display="block";
$scope.getBillDetails(bill_id);
$timeout(function(){
var btn=angular.element(document.getElementById(bill_id));
angular.element(document.getElementById(btn.id)).trigger('click');
});
};

正如您从上面看到的,上面有两个函数调用:- $scope.getActiveBill();$scope.getBillDetails(bill_id);,两者都是这些函数有http get 请求。他们获取数据并对其进行处理并将其存储在 $scope 变量中。我想要的是在触发上述点击事件之前完成这些请求。我已经在这两个函数中实现了 promise 。但甚至是点击先完成,然后http请求完成。如何才能达到上述要求?

最佳答案

您需要使用 promise ,如下所示:

$scope.fav_bill_details=function (id1,id2,bill_id) {
document.getElementById(id2).style.display="none";
$scope.getActiveBill().then(function() {
document.getElementById(id1).style.display="block";
return $scope.getBillDetails(bill_id);
}).then(function () {
var btn=angular.element(document.getElementById(bill_id));
angular.element(document.getElementById(btn.id)).trigger('click');
});

在您的示例中,您调用异步函数,但不等待它们完成,这可以解决问题。

关于javascript - 在点击事件之前完整处理http get请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40443091/

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