前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Promise 入门(推荐) 原

Promise 入门(推荐) 原

作者头像
晓歌
发布2018-09-28 15:22:23
4440
发布2018-09-28 15:22:23
举报
文章被收录于专栏:破晓之歌破晓之歌

课程地址:https://www.imooc.com/learn/949

 一、课程介绍及异步问题

将来的状态

错误1:入栈出栈,前后两个函数不在同一个栈。异步回调的过程中没有办法是由try...catch

错误2:前面声明的变量不仅能被外面函数使用,也能被别的函数使用修改,违背关注点统一的原则

总结:异步回调函数会在一个新的栈里运行,所以在这个栈是没办法获取之前栈的信息的,之前抛出的信息的,异步回调的时候没有办法像以前那样try...catch处理错误;没有办法判断这些文件什么时候处理完成,所以在高级作用域链-外层声明很多变量,内层去使用,导致被其他修改

二、Promise 入门

如果只有一个异步回调使用promise是没有意义的,只有在多个连续的异步回调里,promise才有意义

start——1秒之后输出the promise fulfilled——2秒之后刷出hello,world

在任何地方生成一个promise队列,可以把它作为变量传递到其他地方

如果操作是一个很明显的队列(先进先出),可以在后面追叙then

不管前面状态是不是完成了,都会按照顺序完成。如果完成了,后面返回的then也会得到前面promise返回的值

这三个是同时输出

then没有等到里面的promise返回的实例,直接执行了下一个then,但是这个then里面立即执行里的promise里的定时器又会在2s之后执行

在promise实例里如果不直接返回promise实例,他就会直接执行下一个,即时里面返回了false,也不影响下一步,因为false会直接传递到下面

没有明确返回值,相当于返回undefind。

整个进程仍然是等到完成才会执行

三、小测试

展开里面的then。执行效果一样,看起来更清晰

假设dosomething和dosomethingelse都返回promise实例

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  一、课程介绍及异步问题
  • 二、Promise 入门
  • 三、小测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档