Comparing version 1.3.0 to 1.3.1
@@ -5,2 +5,6 @@ ### 1.3.0 | ||
* 更新timechain依赖至1.3.1,解决定时器失效bug | ||
* 更新timechain依赖至1.3.1,解决定时器失效bug | ||
### 1.3.1 | ||
* 删除timechain依赖,简化定时器代码 |
{ | ||
"name": "zpromise", | ||
"version": "1.3.0", | ||
"version": "1.3.1", | ||
"description": "ES6 Promise简化包装器,用于增强Promise功能和易用性", | ||
@@ -25,5 +25,3 @@ "main": "index.js", | ||
"homepage": "https://github.com/xiangle/zpromise#readme", | ||
"dependencies": { | ||
"timechain": "^1.3.1" | ||
} | ||
"dependencies": {} | ||
} |
49
timer.js
'use strict'; | ||
const timeChain = require('timechain') | ||
const timechain = new timeChain({ delay: 0 }) | ||
class timerPromise { | ||
/** | ||
* @param {Object} options | ||
* @param {Number} options.timeout 超时时间,单位ms | ||
* @param {Number} options.delay 超时间隔时间,单位ms | ||
*/ | ||
constructor(options = {}) { | ||
let callback | ||
let callback, timeout | ||
let promise = new Promise(function (resolve, reject) { | ||
let promise = new Promise((resolve, reject) => { | ||
callback = { resolve, reject } | ||
timeout = setTimeout(() => { | ||
if (options.resolve) { | ||
resolve(options.resolve) | ||
promise.state = 'resolve' | ||
} else { | ||
reject(options.reject) | ||
promise.state = 'reject' | ||
} | ||
}, options.delay); | ||
}) | ||
let key, value | ||
promise.state = 'pending' | ||
@@ -27,3 +34,3 @@ | ||
promise.state = 'resolve' | ||
timechain.delete(key) | ||
clearTimeout(timeout) | ||
} | ||
@@ -34,21 +41,9 @@ | ||
promise.state = 'reject' | ||
timechain.delete(key) | ||
clearTimeout(timeout) | ||
} | ||
let { resolve, reject, delay } = options | ||
if (resolve) { | ||
key = promise.resolve | ||
value = resolve | ||
} else { | ||
key = promise.reject | ||
value = reject | ||
} | ||
timechain.set(key, value, delay) | ||
/** | ||
* 基于已有配置创建新的Promise实例 | ||
* 基于上一个配置创建新的Promise实例 | ||
*/ | ||
promise.restart = function (newOptions) { | ||
promise.restart = function () { | ||
@@ -59,8 +54,6 @@ if (promise.state === 'pending') { | ||
return new timerPromise(newOptions || options) | ||
return new timerPromise(options) | ||
} | ||
promise.tasks = timechain.tasks | ||
return promise | ||
@@ -67,0 +60,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
0
7602
146
- Removedtimechain@^1.3.1
- Removedtimechain@1.3.4(transitive)