angularjs – $apply already in progress错误
发布时间:2020-12-17 09:12:35 所属栏目:安全 来源:网络整理
导读:堆栈跟踪: Error: $apply already in progressat 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.getCurrentPositio
堆栈跟踪:
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,{ enableHighAccuracy: true,timeout: 20000,maximumAge: 18000000 }); }) 奇怪的是,在我的LG4X它工作正常,但是在我的三星s2它抛出以上错误。任何想法有什么问题?
你得到这个错误,因为你在现有的消化循环中调用$ apply。
最大的问题是:你为什么叫$ apply?你不应该需要调用$ apply,除非你是从非角事件接口。 $ apply的存在通常意味着我做错了(除非,$ apply发生在非Angular事件)。 如果$ apply真的适合这里,考虑使用“安全应用”方法: https://coderwall.com/p/ngisma (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |