尚硅谷Web前端Promise教程从入门到精通

作者: 尚硅谷分类: 计算机技术 发布时间: 2020-11-20 08:44:02 浏览:620244 次

尚硅谷Web前端Promise教程从入门到精通

red润:
学完后建议大家分析一下这个代码输出,看看自己是否真正掌握 setTimeou(() => console.log('代码开始执行'),0) new Promise((resolve,reject) => { console.log('开始for循环'); for(let i=0;i<10000;i++){ i == 99 && resolve() } }).then(() => console.log('执行then函数')) console.log('代码执行结束'); 不出意外的话你绝对分析错误 链接:https://www.jianshu.com/p/9dd4427f540e 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

【回复】会报错,因为setTimeou is not defined[doge]
【回复】开始for循环->代码执行结束->执行then函数->代码开始执行 首先定时器,把回调放入异步回调队列的宏队列中, new promise中异步处理器函数executor中是同步任务,打印执行,然后for循环,达到条件出发resolve()此时,promise实例对象状态为resolved且.then()中的成功回调函数被放入,回调队列中的微队列中,然后执行同步任务,打印最后一句话,然后执行微队列中的回调中的打印,然后执行宏队列中的回调中的打印
【回复】事件循环搞懂了这个题很简单的那种,但是你这单词拼写错误真的是让人头秃[doge]
YK菌:
兄弟姐妹们,这是课件笔记!!! 【Ajax】https://blog.csdn.net/weixin_44972008/article/details/113772348 【axios】https://blog.csdn.net/weixin_44972008/article/details/114368528

【回复】回复 @有本事掀起衣服 :感谢整理,但是目前老师自己实现的这个promsie是有缺陷的,在constructor定义的resolve方法少了一部分逻辑:即也要判断resolve入参的value的类型,如果是promise的话,需要.then后在回调中再做处理的.所以如下代码不会得到正确的值 var p1 = new Promise((res)=>{ res(new Promise((rel)=>{ rel('111') })) }).then((res)=>{ console.log('res',res) })
【回复】回复 @YK菌 : 感谢大佬!!!
大大大大丶大哥:
完结撒花,整整听了10个小时,饭都没吃òᆺó

【回复】回复 @Space_pch : 你们不跟着敲代码的吗?不做笔记的吗?
【回复】那我猜你当时肯定没学明白 [doge]
清炒西蓝花-:
P31异步任务这里up可能没有讲清楚,我补充一下,如果是异步的任务,左面p.then先调用,然后右边会在prototype的then中将then的成功失败的回调存储到函数的变量里,然后等异步的一秒结束之后,继续执行左边15行的reject("error"),但是自己手写的executor和then方法并没有直接的关联,不知道超时后要再调用一次then,所以要判断callback中有没有存储then的成功失败回调,同时进行调用,如果理解错误,请各位纠正

【回复】回复 @哟吼呀吼 :你的源码可以发我一份吗谢谢我没找到
【回复】谢谢你的解答 我也是看完后有疑惑
努力学习的汪:
本人学习笔记分享,传至gitee上,觉得好的可以在gitee上star一下 全部笔记:https://gitee.com/hongjilin/hongs-study-notes 当前课程笔记:https://gitee.com/hongjilin/hongs-study-notes/tree/master/%E5%A4%A7%E5%9B%9B%E5%AE%9E%E4%B9%A0%E6%9C%9F%E9%97%B4%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0_2020.11%E5%90%AF~%E8%87%B3%E4%BB%8A/Promise%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0 学习不断,更新不止,共同进步,有什么地方错了可以跟我说,不一定改[doge]

【回复】当前课程的笔记地址改了,因为目录结构改了,当然如果之后失效可以直接访问全部笔记地址:https://gitee.com/hongjilin/hongs-study-notes/tree/master/%E7%BC%96%E7%A8%8B_%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/Promise%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0
【回复】https://gitee.com/hongjilin/hongs-study-notes/blob/master/编程_前端开发学习笔记/Promise学习笔记/A_Promise系统学习笔记.md
【回复】回复 @努力学习的汪 :非常感谢!看你了你gitee,10年后必定成为又一全栈大神! 加油!
zzzzoma:
老师的声音好像老戴(游戏区up)[笑哭]

【回复】你还别说,越听越像[笑哭]
ph4rtiphukb0rlz:
前端系列的课程都很棒,除了李强的课

【回复】回复 @SeeJohnson :我建议去看看博客学promise就够了,因为promise本身不复杂,没有很多东西。但这个老师他讲课不像别的老师讲原理讲的很细,如果没接触过promise,那看这门课可能不太合适
【回复】这老师讲的很好的简洁明了,没基础的就别听了
【回复】确实 这老师的课需要基础非常扎实,不然很难跟上
YK菌:
兄弟姐妹们,这是笔记~~ 【Promise入门】https://blog.csdn.net/weixin_44972008/article/details/113779708 【Promise手写】https://blog.csdn.net/weixin_44972008/article/details/114134995

老陈的工具站:
有一个不懂得点,就是为什么在then方法中返回的promise对象中的this对象与then方法中的this是相等的,它们两个不是不一样吗? function student(exector){ exector(); } student.prototype.then = function(){ let content = this; return new student(()=>{ console.log(content,this) console.log(content ==this) }) } let s1 = new student(()=>{}) let s2 = s1.then();

【回复】回复 @DIY资深玩家 :箭头函数没有自己的this,他会复制外层的this作为自己的this
【回复】这个是缩小版的测试代码,搞不懂为什么里面的this对象会相等于外面的this对象
【回复】回复 @sz风来过 :谢了,是我想的太多,那些回调函数传来传去搞蒙了,连这么基础的知识点都忘记了
vs-心动:
三连了,兄弟们我先秃为敬[灵魂出窍][灵魂出窍]

反叛的实习生:
强哥好,我小强来了,从ES6课程就喜欢你的课程[藏狐]

爱看动漫的毛豆:
p41:使用queueMicrotask(()=>{})可以比then方法变为异步微任务,比起setTimeout(() => {})将then方法变成异步宏会合适一些

【回复】p41:使用queueMicrotask(()={})可以将then方法变为异步微任务,比起setTimeout(() = {})将then方法变成异步宏任务会合适一些
【回复】搞错了,可以,楼主说的是对的,老师那个有bug,如果promise对象输出111是异步操作,老师的执行结果就对不上了。按楼主的方法改了就和内置的promise一样了
eccc22:
请问为什么内置的promise每次打印出来的结果都是先打印promise,再打印出console.log里的内容?而老师自己写的promise每次都是先打印console.log里的内容,再打印promise?

大碗竹鼠:
html/css/js的时候一百多万播放量,到现在才四万播放量了,看来至少90%的人学东西都是三分钟热度,坚持不下去

【回复】筛掉百分之九十的竞争对手不好吗
venjulegt:
分享自己的笔记:https://blog.csdn.net/hangao233/article/details/123881973?spm=1001.2014.3001.5501 分析了一下整个流程,还是比较详细的。

更衣室还能干什么:
我是没想到的,自己基础不行就跑来看,看不懂还说老师不行,这多少沾点了

【回复】请问要一些什么基础呢?
【回复】学这个之前,需要学什么基础
【回复】回复 @勇敢牛牛爱自学 : 一天学完了
赵坤34:
我喜欢回调地狱哈,自己看着懵,别人看着也懵

知识分享官 promise视频 Promise技术 promise教程 前端 promise web前端 Promise 前端项目

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!