# eq-timeout **Repository Path**: hello-wltz/eq-timeout ## Basic Information - **Project Name**: eq-timeout - **Description**: ts 超時庫 超時等待同時支持快速完成 - **Primary Language**: TypeScript - **License**: ISC - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-03-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # eq-timeout #### 介绍 ts 超時 #### 软件架构 利用promise表徵使用者的猶豫和頓悟 #### 安装教程 1. npm i -S eq-timeout 2. import { timeout_with_reject } from 'eq-timeout'; #### 使用说明 1. timeout ##### 延時拒絕 is_resolve = true 行爲表現爲延時提交 ```timeout(ms:number, is_resolve = false) => Promise<{}>``` ##### 延時1秒後拒絕 ```await timeout(1000); ``` ##### 延時1秒後接受 ```await timeout(1000, true);``` 2. reject ##### 條件拒絕 ``` reject( handler : (reject:(reason?: any) => void) => void ) => Promise<{}> ``` ``` await reject((reject) => { h.reject_me = reject }); ``` 某個需要時 h.reject_me(); 3. resolve ##### 條件接受 ``` resolve( handler : (resolve:(value?: {} | PromiseLike<{}>) => void) => void ) => Promise<{}> ``` ``` await resolve((resolve) => { h.resolve_me = resolve }); ``` 某個需要時 h.resolve_me(); 4. timeout_with_reject ##### 同時延時和條件拒絕 ``` timeout_with_reject( ms :number , handler : (reject:(reason?: any) => void) => void), is_resolve = false ) => Promise<{}> ``` ##### 1秒後超時或者立刻失敗 ``` await timeout_with_reject(1000, (reject) => { h.reject_me = reject }); ``` 5. timeout_with_resolve ##### 同時延時和條件接受 ``` timeout_with_resolve( ms :number , handler : (resolve:(value?: {} | PromiseLike<{}>) => void) => void, is_resolve = false ) => Promise<{}> ``` ##### 1秒後超時或者立刻接受 ``` await timeout_with_resolve(1000, (resolve) => { h.resolve_me = resolve }); ```