参数resolve和成功的resolve不是一个意思吧

参数resolve和成功的resolve不是一个意思吧

31行promise接受一个参数叫resovle,但是这个参数并没有用到?还是说这个参数就是后面34行调用的这个函数名字。。。用这个名字是真的误导难理解

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕码 2019-11-29 18:39:45

“imooc的小迷弟”你好:

1.resolve作用是,将Promise对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;

reject作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

2.请问你说的是这种情况吗?

http://img1.sycdn.imooc.com//climg/5de0f2e109b59e0106790254.jpg

这时候,console.log(1)是立即执行的,也就是说你的理解是正确的。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

好帮手慕码 2019-08-27 16:49:58

同学你好!

你可以理解为一个意思:Promise通常配合then方法来链式的使用,then方法里面第一个回调函数表示成功状态,也就是resolve,第二个是失败状态reject。当成功的时候调用resolve方法,当失败的时候调用reject方法:实例:

 function Print (ready) {
            return new Promise ((resolve,reject)=>{
                if(ready){
                    resolve("Hello World!");   //成功
                }else{
                    reject("Good bye!");   //失败
                }
            });
        }

如果帮助到了你,欢迎采纳,祝学习愉快~

  • 老师能解析下什么是成功状态和失败状态吗?还有new Promise实例化的时候里面的代码是会再创建是时候立刻执行吧?比如里面有个console.log(1) ,只是resolve或者reject的调用会等到成功或者失败时候调用?
    2019-11-29 12:54:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师