Promise.setScheduler
Promise.setScheduler(function(function fn) scheduler) -> function
Планировщик должен быть функцией, которая асинхронно планирует вызов переданной функции:
// This is just an example of how to use the api, there is no reason to do this
Promise.setScheduler(function(fn) {
setTimeout(fn, 0);
});
Установка пользовательского планировщика может потребоваться, когда вам нужен более быстрый способ планирования функций, чем по умолчанию в bluebird. Это также делает возможным использование bluebird в платформах, где обычные инструменты тайминга, такие как setTimeout и process.nextTick, недоступны (например, Nashhorn).
Вы также можете использовать его как плагин:
// This will synchronize bluebird promise queue flushing with angulars queue flushing
// Angular is also now responsible for choosing the actual scheduler
Promise.setScheduler(function(fn) {
$rootScope.$evalAsync(fn);
});
Осторожно - для сохранения совместимости обещаний bluebird с Promises/A+ необходимо использовать планировщик, который выполняет функцию асинхронно (как в примерах на этой странице).
© 2013–2018 Petka Antonov
Licensed under the MIT License.
http://bluebirdjs.com/docs/api/promise.setscheduler.html