为了账号安全,请及时绑定邮箱和手机立即绑定

Promise 入门

Meathill Web前端工程师
难度中级
时长 2小时 0分
学习人数
综合评分8.87
73人评价 查看评价
9.1 内容实用
8.9 简洁易懂
8.6 逻辑清晰

最新回答 / 慕沐750848
第一种:throw用来抛出问题,抛出问题后,接下来会执行.then里的内容。即返回了一个promise实例,但是,在执行这个实例的过程中,会不会有错误呢?那就要用到catch来捕捉,但是因为是异步的,系统认为我返回了一个结果(有还是没有错误,错误在哪),所有的事都做完了。   第二种:那么如何来让系统真正的执行所有的事呢,那要在实例中再抛出一个问题,这时系统会跳过then,直接执行catch。

已采纳回答 / 慕虎0103371
https://github.com/merrier/imooc-promise-sample

最新回答 / ShowTime4328112
https://github.com/merrier/imooc-promise-sample

最新回答 / 苏珊劉
https://github.com/CruxF/Blog/issues/7

已采纳回答 / 慕瓜229536
异步吧,调用后即返回,所以与下一条语句运行时间相差很小,可以参考下C语言中关于异步的解释。

最赞回答 / 第二钢协
第二种方法不行,老师讲的有错,你运行下我下面的代码,throw 出来的错误没有被catch捕获到:<...code...>

已采纳回答 / Meathill
一个请求,比如分两步AB,A 是一个耗时很长的操作,那么B就会等着,直到 A 完成再执行。这个时候,如果线程池满了,就会阻塞了。是这个意思。

讲师回答 / Meathill
哪个错了?应该看哪个文件?

最新回答 / 慕娘4289356
你试着百度一下we have a problem with promise 

最赞回答 / 三只松鼠
楼上已经回答了,我也说一下关于 throw new Error('error')的看法:如果不是放在定时器里面,后面的catch可以捕获到;   2.如果放在定时器里面(又或者跟之前的课程一样放在一个立即执行函数里面),后面的catch就捕获不到了,不过全局window.onerror可以捕获到。综上,本质是函数是否进入同一个执行栈,从而影响后续的捕获。

最新回答 / qianduancainiao
自己找到原因了,then里面的要用return 把值传出去,用resolve会报错

已采纳回答 / 十指狂魔
问问`resolve()`哪来的就像问`var`哪来的一样(ECMA API),`resole('hello')`的意思是将`hello`传递给下边的`then()`上边说过,`resolve('hello')`传递来的。`then`里的`value`就是`resolve('hello')`传递过来的`hello`@慕课网 不能使用markdown语法?
课程须知
1. 前端水平:初级、中级 2. 了解 JavaScript 3. 最好有异步开发经历,希望写出更好的代码
老师告诉你能学到什么?
1. Promise 的基础用法 2. Promise 容易出错的地方 3. Promise 怎么处理错误(Error) 4. Promise 的其它用法 5. 简单介绍异步函数

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消