一个关于promise的一个疑问

比如promise执行了resolve('holle') 那么.then()后面的参数是resolve返回的吗,有时候我看返回一个对象.then()的参数 却是个方法,这是为什么,有点迷

阅读 1.5k
2 个回答

then接收两个参数,第一个数成功的回调,第二个是错误的回调啊,回调里的参数就是返回的值啊

promise接受一个函数作为参数,这个函数有两个参数,第一个是成功参数resole,第二个参数是失败参数reject,这两个参数都是一个回调方法,最后把成功或者失败的结果抛出去。通过then()接收,then方法接收两个函数作为参数,第一个是函数是接收成功抛出来的数据,第二个函数接收失败抛出来的东西。第二个函数可选,也可以通过.catch()接收错误信息。

var promise = new Promise(function(resolve,reject){
            if(1){
                return    resolve("holle")
            }
            reject('hi')
        })
        
        promise.then(function(data){
            
            console.log(data)
            
        }).catch(function(err){
            
            console.log(err)
            
        })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题