function Promise(fn) {
var status = 'pending'
function resolve() {
status = 'resolve'
successArray.forEach(node => { node.apply(undefined, arguments) })
}
function reject() {
status = 'reject'
failArray.forEach(node => { node.apply(undefined, arguments) })
}
let [successArray,failArray] = [[],[]]
fn.call(undefined,resolve,reject)
return {
then: function (successFn,failFn){
successArray.push(successFn)
failArray.push(failFn)
return undefined
}
}
}
Promise(function(resolve,reject) {
setTimeout(function(){
resolve('成功')
},1000)
}).then((res)=>{
console.log(res)
})
Promise
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 在需要多个操作的时候,会导致多个回调函数嵌套,导致代码不够直观,就是常说的回调地狱,通常通过promise来解决P...
- 1.Promise解决什么问题? 1.1回到地狱 比如实现一个动画,页面上有多个球,每个球要等到上一个球的运动停止...
- 1. 为何产生promise? 相信大家在写JS的时候写过回调函数,当写了多层回调的时候,逻辑已经很难理清楚了,这...
- “你倒是对安苏国的君王很有信心啊。”裴奕风有点意外,一般来说,百姓都不会这样的。 苏晴城不假思索,“当然啦,看我们...