Какая точка Meteor.setTimeout() против просто setTimeout()?

В Meteor, зачем использовать Meteor.setTimeout() только для обычного setTimeout()?

Какова ценность использования Meteor.setTimeout(), а не только vanilla setTimeout или setInterval?

Ответы

Ответ 1

Использование Meteor.setTimeout() гарантирует, что этот код является значком Fibers. Подробнее о волокнах: https://github.com/laverdet/node-fibers

Ответ 2

На клиенте между ними нет разницы.

На сервере, когда код запускается для определенного пользователя (например, при вызове метода), вам нужно использовать Meteor.setTimeout вместо window.setTimeout, чтобы Метеор помнил, для какого пользователя должна быть вызвана функция. В то время, когда вызывается функция, переданная в Meteor.setTimeout, и когда она вызывается, другие пользователи могут вызывать методы на сервере, вместо этого Meteor.userId вместо этого возвращать свой идентификатор пользователя. Meteor.setTimeout изменится так, чтобы Meteor.userId возвращал идентификатор пользователя для пользователя, когда был вызван вызов Meteor.setTimeout перед вызовом переданной ему функции.

Это дизайнерское решение.