Meteor有提供它自己的setTimeout和setInterval方法。这些方法被用于确保所有全局变量都具有正确的值。它们就像普通 JavaScript 中的setTimeout 和 setInterval 一样工作。
Timeout - 超时
Meteor.setTimeout 的例子。
Meteor.setTimeout(function(){ console.log("Timeout called after three seconds..."); }, 3000);
当应用程序已经开始我们可以在超时函数调用(启动 3 秒后调用),在控制台中看到下面的输出结果。
Interval
接下来的例子显示如何设置和清除interval。
meteorApp/client/app.html
<head> <title>meteorApp</title> </head> <body> <div> {{> myTemplate}} </div> </body> <template name = "myTemplate"> <button>CLEAR</button> </template>
我们将设置将 counter 的初始变量在每次调用后更新。
meteorApp/client/app.js
if (Meteor.isClient) { var counter = 0; var myInterval = Meteor.setInterval(function(){ counter ++ console.log("Interval called " + counter + " times..."); }, 3000); Template.myTemplate.events({ 'click button': function(){ Meteor.clearInterval(myInterval); console.log('Interval cleared...') } }); }
控制台将每三秒钟记录更新计数器- counter 变量。我们可以通过点击 CLEAR 按钮清除。这将调用 clearInterval 方法。