gpt4 book ai didi

angularjs - 错误: $digest already in progress in angularjs when using alert

转载 作者:行者123 更新时间:2023-12-02 19:23:49 25 4
gpt4 key购买 nike

我只是从 Controller 中的服务获取 json 数据。

我正在使用回调函数在加载时打印成功消息。它工作正常,但它也引发了我在问题中提到的错误

//JSON file
{
"pc":"name"
}

// angular services
var service = angular.module('Services', ['ngResource']).
factory('Widgets', function($resource){
return $resource('/json/home.json', {}, {
query: {method:'GET', params:{}, isArray:false}
});
});

//controller
function editWidget($scope, Widgets) {
$scope.data = Widgets.query(function(data) {
alert("Success Data Loaded ---> " + JSON.stringify(data.pc));
});
}

最佳答案

alert,以及confirmprompt将暂停代码的执行(阻塞线程),在此期间超时和间隔消失如果它们应该在暂停期间被触发,那么一切都会失控。 $digest 循环由两个较小的循环组成,它们处理 $evalAsync 队列和 $watch 列表。 $evalAsync 队列用于安排需要在当前堆栈帧之外但在浏览器 View 渲染之前发生的工作。这通常通过 setTimeout(0) 完成。您在这段时间发出的警报会导致问题。

关于angularjs - 错误: $digest already in progress in angularjs when using alert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16351184/

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