Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 2.03 KB

readme_CN.md

File metadata and controls

64 lines (49 loc) · 2.03 KB

AsyncSignal

可复用的异步信号

中文

安装

pnpm add asyncsignal
// or 
npm install asyncsignal
// or 
yarn add asyncsignal

用法

import { asyncSignal } from 'asyncsignal';

// 创建一个异步信号,实质上就是Promise
const signal = asyncSignal();
// 指定一个约束函数,当执行resolve时需要同时满足约束函数返回true
const signal = asyncSignal(()=>true);
// 指定一个配置参数
const signal = asyncSignal(()=>true,{timeout:100});

// 等待resolved
await signal()
// 等待resolved,指定一个超时时间
await signal(100)
// 等待resolved,指定一个超时时间,如果超时则抛出错误
await signal(100,new Error())  
  

signal.resolve('resolved value')
signal.reject('rejected value') 
signal.reject(new Error('rejected error'))

// 信号状态检查
signal.isPending() 
signal.isResolved()
signal.isRejected()

// 重置信号
signal.reset() 

开源项目