据我所知,$ timeout是angular中的promise对象,这意味着代码将继续运行而不等待超时结束。
然而,当我在我的离子代码中使用它时,出于某种原因它完成了并且页面的整个加载冻结了6秒。你能解释一下原因吗?
$scope.$on("$ionicView.Enter", function( scopes, states ) {
$timeout(function(){
// some function i wrote
}, 6000);
});
答案 0 :(得分:1)
你对代码继续运行的假设是错误的 - 否则调用$timeout
会是什么意思?它是一个Angular包装器,建议使用它来代替window.setTimeout(),但工作方式完全相同。上述代码将在6000ms延迟后执行。
[ADDED]来自Angular API docs:“调用$ timeout的返回值是一个承诺,将在延迟过去后解决和超时功能(如果提供)被执行。“