井底的阿蛙
2018-03-07 14:06:44
首先我是已经熟悉了Promise的用法来看这个课程,看看有没有漏掉的知识点。
整个课程比较生硬,代码示例不够简单清晰。
比如console.log的输出,建议带上1234,这样更容易看出执行顺序。
代码块完全没有注释,完全靠说。
没有清晰的callback写法和promise写法的对比
resolve, reject参数的使用讲解非常模糊,比如写个promise函数,异步判断两个数字大小,来解释resolve和reject的用法会清晰很多
对3.3错误处理一节,您讲错了。promise执行器里。异步执行的代码中抛出错误是不会被后面的catch捕获到的。可能是因为观看课程的都是新手,没有发现这个问题。希望能重录这一节纠正这个问题,以免更多新人被误导。
new Promise(resolve=>{
setTimeout(()=>{
throw new Error('bye');
},2000)
})
.catch(error=>{
//这个地方是不会捕获到上面计时器里的报错的
//但是如果计时器抛出异常的代码改为同步的方式直接抛出异常,在这个地方是可以捕获到的。
})