gpt4 book ai didi

angularjs - $apply 已在进行中错误

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

堆栈跟踪:

Error: $apply already in progress
at Error (<anonymous>)
at beginPhase (file:///android_asset/www/built.min.js:7:22740)
at Object.Scope.$apply (file:///android_asset/www/built.min.js:7:25967)
at navigator.geolocation.getCurrentPosition.that (file:///android_asset/www/built.min.js:13:8670)
at Object.geolocation.getCurrentPosition (file:///android_asset/www/plugins/org.apache.cordova.core.geolocation/www/geolocation.js:122:13)
at Object.getCurrentPosition (file:///android_asset/www/built.min.js:13:8589)
at Object.getCurrentPosition (file:///android_asset/www/built.min.js:13:8277)
at Object.getCurrentCity (file:///android_asset/www/built.min.js:13:8941)
at Object.$scope.locateDevice (file:///android_asset/www/built.min.js:13:10480)
at file:///android_asset/www/built.min.js:7:12292:7

指的是这个代码http://pastebin.com/B9V6yvFu

    getCurrentPosition: cordovaReady(function (onSuccess, onError, options) {

navigator.geolocation.getCurrentPosition(function () {
var that = this,
args = arguments;

if (onSuccess) {
$rootScope.$apply(function () {
onSuccess.apply(that, args);
});
}
}, function () {
var that = this,
args = arguments;
if (onError) {
$rootScope.$apply(function () {
onError.apply(that, args);
});
}
}, {
enableHighAccuracy: true,
timeout: 20000,
maximumAge: 18000000
});
})

奇怪的是,在我的 LG4X 上它工作正常,但是在我的三星 s2 上它会抛出上述错误。任何想法有什么问题吗?

最佳答案

您收到此错误是因为您在现有消化周期内调用 $apply

最大的问题是:你为什么要调用$apply?除非您是从非 Angular 事件进行交互,否则您不需要调用 $apply$apply 的存在通常意味着我做错了什么(除非 $apply 发生在非 Angular 事件中)。

如果$apply确实适合这里,请考虑使用“安全应用”方法:

https://coderwall.com/p/ngisma

关于angularjs - $apply 已在进行中错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18626039/

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