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

Promise 入门

Meathill Web前端工程师
难度中级
时长 2小时 0分
学习人数
综合评分8.87
73人评价 查看评价
9.1 内容实用
8.9 简洁易懂
8.6 逻辑清晰
如果在timeout回调里面抛出异常,那就和Promise无关,系统处理异常。
如果在executor里面抛出异常,才会被catch处理。

视频中的介绍错误太严重了!
1. 嵌套层次很深
2. 无法正常使用return和throw
3. 无法正常检索堆栈信息
4. 多个回调之间难以建立联系
第四条,难以建立联系,这儿太抽象了吧?success和error callback算不是一种联系呢?

另外,callback的变量共享、关联的业务逻辑分散在好几个function里面等,这些缺点都没有提吗?
IE.....
有点迷 感觉老师这段代码 不是和直接使用setTimeOut回调一样么 没有感觉出promise的好处啊
使用
new Promise(resolve => {
setTimeout(()=>{
console.log("666");
resolve("success");
},1000)
})
.then(data=>{
console.log(data);
})

不使用
setTimeout(()=>{
console.log("999");
callback("success");
},1000)
function callback(data){
console.log(data);
}
好好学习,别天天想着XXOO
web前端新人,无聊到难受
厉害了,我的B

最新回答 / 慕娘4289356
你试着百度一下we have a problem with promise 
讲的好!!!!!
let p1 = Promise.resolve("p1 data")
let p2 = Promise.resolve("p2 data")
Promise.race([p1,p2]).then(value=>console.log(value))
Promise.reject("err data").then(null,mes=>console.log(mes))
Promise.resolve("data").then(data=>console.log(data))
@蘇小小自,执行函数后面再加个then就能拿到了
(function(){
return new Promise()
}()).then()
new Promise(resolve=>{
setTimeout(()=>{
console.log("hello world")
resolve("success data")
})
}).then(data=>{
console.log(data)
})
Very good!
课程须知
1. 前端水平:初级、中级 2. 了解 JavaScript 3. 最好有异步开发经历,希望写出更好的代码
老师告诉你能学到什么?
1. Promise 的基础用法 2. Promise 容易出错的地方 3. Promise 怎么处理错误(Error) 4. Promise 的其它用法 5. 简单介绍异步函数

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消