promise === 我爸???

promise到底干啥的

相信有过开发经验的小伙伴对promise都不陌生,经常在用到异步函数的地方用的到promise,今天我们用较为通俗易懂的方式来理解promise

基础知识点

关于js是单线程大家应该都有所了解,但是代码一行行执行必然会造成堵塞,因此js有异步事件,很多技术大牛写的js 事件循环都很好理解,大家不了解的可以去看看

假如有这样一个场景

你刚下完课,五点半到六点半,你妈让你在家做作业,但是这期间王阿姨让你妈去打麻将,你妈就不等你做完作业再去打,而是直接去打了,但是你妈呢,需要知道你作业做完了没,在六点半的时候,如果你没有做完,你妈就会决定,是继续打麻将,还是回来打你,因此她需要你做完作业的一个反馈来决定她接下来干啥,这样在你妈的上下文中,让你去做作业就是一个异步操作,她主要还是想打麻将

代码场景

1.我直接在vue的里面写的
首先,在method 定义一个方法,用来获取你做作业的结果是什么,这个结果有两个,结果一:你做的很棒,结果二:你作业没有做完,异步我们用延时器来模拟

在这里插入图片描述
但是这么写存在的问题是,我怎么知道你setTimeout里面做作业做的结果是啥,如果发生错误,或者信息不是我想要的呢, 而且就算利用函数的返回值
那么return该返回啥呢

2.这时候你妈派了一个情报员,你爸盯着你写作业,但是你爸并不能干扰你做作业的动作,他只是监听并检查你作业写完了没,当你执行了写作业后。他会给你妈发短信说写完了,没有就说没有写完,因此promise 在这里应该是等于你爸爸的一个作用~~~

3.上代码
promise有两个回调,一个成功的回调,一个失败的回调
在这里插入图片描述
这里是固定语法,在reslove成功的回调里面传你想要的参数,在reject里面传失败的参数

然后你妈调用的时候
在这里插入图片描述
调用函数得到一个promise对象,通过调用then可以得到一个成功的回调和一个失败的回调。参数就是在前面传过来的,我们看下结果
在这里插入图片描述
小朋友,你是否有很多???
很多小伙伴可能迫不及待想遭受一顿毒打,那么错误的回调啥时候会触发呢
别急,我们不写英语,来看看结果

在这里插入图片描述
在这里插入图片描述
当然还有这个
在这里插入图片描述

本文意在给大家理解promise在实际开发中的用途,并未涉及到一些知识点,大家有不明白的建议去自行学习,看到这里还不点赞,过分了啊~~~~~

发布了3 篇原创文章 · 获赞 1 · 访问量 108

猜你喜欢

转载自blog.csdn.net/shmilylxy11/article/details/105595739