vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
55 lines (52 loc) • 1.12 kB
JavaScript
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;
};
;