UNPKG

@eljs/utils

Version:
37 lines (36 loc) 751 B
/** * 睡眠 ms 毫秒 * @param ms 毫秒 */ export function sleep(ms) { return new Promise(function (r) { return setTimeout(r, ms); }); } /** * 超时拒绝 * @param promise promise * @param ms 超时时间 * @param message 超时信息 */ export function timeout(promise, ms, message) { return new Promise(function (resolve, reject) { var finished = false; promise.then(function (data) { finished = true; resolve(data); }).catch(function (error) { finished = true; reject(error); }); setTimeout(function () { return maybeTimeout(); }, ms); function maybeTimeout() { if (finished) { return; } reject(new Error(message || 'Timeout')); } }); }