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

Promise 入门

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

最赞回答 / 大学霸
<...图片...>遇到了和你一样的问题,你在这个位置加上一个分号就可以了,我也是试出来的,有知道原因的可以帮忙解答下

最新回答 / weixin_慕尼黑9327974
这是入门课程啊,慢点是正常的,您要不习惯,可以去看其他的

最新回答 / 董曼巴
3.3错误处理一节,课程里讲的不对。  计时器里抛出的异常并不能被catch 捕获到。
new Promise((resolve,reject)=&来。
{

    setTimeout(()=&ye"{
        //此处抛出的异常是因为没有被捕获所以会在控...

最新回答 / itachy
我觉得这里你需要再听一下老师的解释!个人理解:        funa与 funb都是函数调用,因此几乎是同时执行的,这里你或许不理解为什么不是先then了在执行?主要是因为premise语法要求,因为then的参数是premise,这个then会被忽略【此处老师也有解释】,所以可以理解funa与funb几乎是一起执行的【当然是有先后的,只是差不多可以忽略了】。    最后解释下,为啥返回的premise是a, 有上面的解释可以知道then被忽略了,返回值就是funa返回的premise,答案也正如老师所...

最新回答 / RIO0
先把console.log中的promise1 之类的加个分号 控制台返回primise实例是什么意思?pending不是在等待吗

已采纳回答 / 枫叶咚咚咚
你的代码写错了,第二个计时器的时间(15000秒)没放对位置。<...图片...>

最新回答 / 燃着的半支烟
只会基础不行哦,实际项目中用到那些高阶的知识点还挺多的,建议多看多理解!

最赞回答 / 慕瓜6203314
then确实会返回一个promise,但是如果不手动return Promise,那么默认返回的promise状态就是resolved,值看你return的是啥了,不写return的话,值是undefined,return非promise,那么值就是这个非promise。而手动return Promise,那返回的promise状态就不一定是resolved了,因此就可以改变下一个then/catch调用的结果了。

已采纳回答 / 857647010
异常第一次被捕获,就不会再被捕获了,类似Java机制new Promise((resolve, reject) => {setTimeout(() => { reject('bye') }, 2000)}).then(value => { console.log(value); },error => {console.log("error:" + error)}).catch(error => { console.log("catch:" + error); })

最赞回答 / 夜猫sama的小弟
一个then中返回一个promise,进入下一个then,又会返回一个promise,就算进入到catch也会返回一个promise

最赞回答 / 慕粉1709195557
promise是用来解决异步函数的顺序问题. 比如,有两个回调函数,你怎么让他们能够按照你所书写的顺序进行执行.要知道,虽然是先后书写的函数,但是返回所需要的时间是不一致的.所以会产生混乱.
课程须知
1. 前端水平:初级、中级 2. 了解 JavaScript 3. 最好有异步开发经历,希望写出更好的代码
老师告诉你能学到什么?
1. Promise 的基础用法 2. Promise 容易出错的地方 3. Promise 怎么处理错误(Error) 4. Promise 的其它用法 5. 简单介绍异步函数

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消