0.1.4 • Published 4 years ago

fg-promise v0.1.4

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

Что это?

Обёртка для промиса.

Установка

npm i fg-promise

Инициализация и использование

const fgPromise = require('fg-promise');

let promise = new fgPromise;

(async function(){
    try{
        let result = await promise;
        console.log('Промис разрешен с результатом:', result);
    }catch(error){
        console.log('Промис отклонен с ошибкой:', error);
    }
})();

setTimeout(promise.resolve.bind(promise, 42), Math.round(Math.random()*1000));
setTimeout(promise.reject.bind(promise, -42), Math.round(Math.random()*1000));

Интерфейс

promise.resolve(result)

  • result: значение, с которым должен завершиться промис.
  • Returns \:
    • true: если состояние промиса успешно изменено на 'resolved'.
    • false: если состояние промиса изменить не удалось; такое возможно, когда к моменту вызова resolve промис был не ожидающим, но завершенным.

Если состояние промиса было 'pending', то в результате выполнения данной функции оно будет изменено на 'resolved', флаги isResolved и isSettled будут установлены в true, флаг isPending - false. Также будут запущены onresolve и onsettle, если они утсановлены.

promise.reject(error)

  • error.
  • Returns \:
    • true: если состояние промиса успешно изменено на 'rejected'.
    • false: если состояние промиса изменить не удалось; такое возможно, когда к моменту вызова reject промис был не ожидающим, но завершенным.

Если состояние промиса было 'pending', то в результате выполнения данной функции оно будет изменено на 'rejected', флаги isRejected и isSettled будут установлены в true, флаг isPending - false. Также будут запущены onreject и onsettle, если они утсановлены.

Переменные

  • promise.result;
  • promise.error;
  • promise.state \: 'pending' | 'resolved' | 'rejected';
  • promise.isPending \;
  • promise.isResolved \;
  • promise.isRejected \;
  • promise.isSettled \.

Функции обратного вызова

promise.onresolve = (result) => { console.log('Resolved with result:', result) };

promise.onreject = (error) => { console.log('Rejected with error:', error) };

promise.onsettle = (result, error, isResolved) => {
    if(isResolved) console.log('Resolved with result:', result);
    else console.log('Rejected with error:', error);
}
0.1.4

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.3

4 years ago

0.1.0

4 years ago