大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
异步回调会产生一些问题:
一、一般处理异步的方式是通过纯粹的回调函数,很容易进入到“回调地狱”中,剥夺了函数return的能力;
二、问题可以解决,但是难以读懂,维护困难,嵌套层次深。
当出现这些问题时,promise是一个很好的解决方案。
Promise对象表示异步操作的最终完成(或失败)及其结果值。帮助我们处理队列,异步操作队列化,还用于异步计算。
Promise的使用:
创新互联建站是专业的内丘网站建设公司,内丘接单;提供网站制作、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行内丘网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
resolve作用是,将Promise对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;
reject作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
promise有三个状态:
1、pending[待定]初始状态
2、fulfilled[实现]操作成功
3、rejected[被否决]操作失败
当promise状态发生改变,就会触发then()里的响应函数处理后续步骤;
promise状态一经改变,不会再变。
Promise对象的状态改变,只有两种可能:
从pending变为fulfilled
从pending变为rejected。
这两种情况只要发生,状态就凝固了,不会再变了。
promise可以把pormise结果作为一个变量传递到其他地方。返回的结果可以加入任何Promise队列,可读性更好。