UNPKG

vtils

Version:

一个面向业务的 JavaScript/TypeScript 实用程序库。

55 lines (52 loc) 1.12 kB
"use strict"; exports.__esModule = true; exports.wait = wait; /** * @public */ /** * 等待一段时间 resolve。 * * @public * @param milliseconds 等待时间(毫秒) * @param value resolve 值 * @example * ```typescript * wait(1000).then(() => { * console.log('ok') * }) // => 1秒后在控制台打印字符串: ok * ``` */ function wait(milliseconds, value) { var timer; var result = new Promise(function (resolve) { timer = setTimeout(function () { return resolve(value); }, milliseconds); }); result.cancel = function () { return clearTimeout(timer); }; return result; } /** * 等待一段时间后 reject。 * * @public * @param milliseconds 等待时间(毫秒) * @param value reject 值 * @example * ```typescript * wait.reject(1000).catch(() => { * console.log('ok') * }) // => 1秒后在控制台打印字符串: ok * ``` */ wait.reject = function reject(milliseconds, value) { var waitRes = wait(milliseconds); var res = waitRes.then(function () { return Promise.reject(value); }); res.cancel = waitRes.cancel; return res; };