ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## Promise简单版 ``` const PENDING = 'PENDING'; const RESOLVED = 'RESOLVED'; const REJECTED = 'REJECTED'; function Promise(executor) { const resolve = value => { this.status = RESOLVED; this.value = value; this.onResolvedCallback && this.onResolvedCallback(); } const reject = value => { this.status = REJECTED; this.value = value; this.onRejectedCallback(); } this.status = PENDING; this.value = undefined; this.onResolvedCallback = null; this.onRejectedCallback = null; executor(resolve, reject); } Promise.prototype.then = function (onResolved, onRejected) { if (this.status == PENDING) { this.onResolvedCallback = () => { onResolved(this.value); } this.onRejectedCallback = () => { onRejected(this.value); } } if (this.status == RESOLVED) { onResolved(this.value); } if (this.status == REJECTED) { onRejected(this.value); } } ```