在Meteor中,爲什麼會使用Meteor.setTimeout()而不是普通的setTimeout()?Meteor.setTimeout()vs setTimeout()是什麼意思?
使用Meteor.setTimeout()而不是僅僅是香草setTimeout或setInterval的價值是什麼?
在Meteor中,爲什麼會使用Meteor.setTimeout()而不是普通的setTimeout()?Meteor.setTimeout()vs setTimeout()是什麼意思?
使用Meteor.setTimeout()而不是僅僅是香草setTimeout或setInterval的價值是什麼?
使用Meteor.setTimeout()
可確保此代碼可識別光纖。閱讀關於Fibers的更多信息:https://github.com/laverdet/node-fibers
在客戶端上,它們之間沒有區別。
在服務器上,當代碼(在方法調用爲例)運行特定用戶,你需要使用Meteor.setTimeout
而不是window.setTimeout
使流星記住哪個用戶的功能應該被調用。在調用傳遞給Meteor.setTimeout
的函數之間的時間和被調用時,其他用戶可能已在服務器上調用了方法,因此請改爲Meteor.userId
以返回其用戶標識。 Meteor.setTimeout
將改回,所以Meteor.userId
返回用戶的用戶ID,在調用傳遞給它的函數之前調用Meteor.setTimeout
。
這是一個設計決定。
非常感謝這個解釋。 –
謝謝你,你會如此友善地提供一個Meteor.setTimeout()可以用光纖做什麼樣的新事物的例子,而不是沒有? – Mcope
你必須瞭解節點是如何工作的以及纖維允許的。 Slava(流星核心開發人員)檢查這個答案:https://groups.google.com/d/msg/meteor-talk/uipZ9I_37AU/SimAAlYnY6sJ –