Слияние кода завершено, страница обновится автоматически
Лёгкая реализация Deferred/Promise.
$ npm install deferred-lib
<script src="js/deferred.min.js"></script>
// Использование 1
// Объявляем экземпляр deferred и используем его.
function обратныйОтсчет1() {
var deferred = new Deferred();
var i = 5;
var таймер = setInterval(function () {
deferred.notify(i);
if (i-- === 0) {
deferred.resolve('Привет');
clearInterval(таймер);
}
}, 300);
return deferred.promise();
}
обратныйОтсчет1().progress(function (шаг) {
console.log('обратныйОтсчет1', шаг);
}).done(function () {
console.log('обратныйОтсчет1 завершен');
});
// Использование 2
// Используем `Deferred(fn)` и получаем экземпляр deferred с контекстом `this`.
function обратныйОтсчет2() {
var self = this;
var i = 5;
var таймер = setInterval(function () {
self.notify(i);
if (i-- === 0) {
self.resolve('Привет');
clearInterval(таймер);
}
}, 300);
}
Deferred(обратныйОтсчет2).progress(function (шаг) {
console.log('обратныйОтсчет2', шаг);
}).done(function () {
console.log('обратныйОтсчет2 завершен');
});
См. директорию examples
для более подробных примеров использования.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )