【问题标题】:Why does $timeout delay the whole page loading inside $ionicView.Enter?为什么 $timeout 会延迟 $ionicView.Enter 中的整个页面加载?
【发布时间】:2015-08-30 12:39:46
【问题描述】:

据我所知,$timeout 是一个 Angular 的 promise 对象,这意味着代码将继续运行而无需等待超时结束。

但是,当我在我的 ionic 代码中使用它时,由于某种原因它确实如此,并且页面的整个加载冻结了 6 秒。你能解释一下为什么吗?

$scope.$on("$ionicView.Enter", function( scopes, states ) {
     $timeout(function(){
        // some function i wrote
     }, 6000);

});

【问题讨论】:

    标签: angularjs ionic ionic-view


    【解决方案1】:

    您对代码继续运行的假设是错误的——否则调用$timeout 的意义何在?它是一个 Angular 包装器,建议使用它代替 window.setTimeout() 但工作原理完全相同。上面的代码将在 6000ms 延迟后执行。

    [添加]来自Angular API docs:“调用$timeout的返回值是一个promise,延迟过去后会解决,如果提供了timeout函数,就会执行。”

    【讨论】:

    • 对不起,也许我不明白你的回答。我的问题是超时让整个方法卡住了,这与我预期的不同:创建一个承诺并让一切继续......
    • 我记不太清了,但我认为你是对的,而且一定是其他的。我想“关闭”并发布,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    相关资源
    最近更新 更多