• ES6深入浅出-9 Promise-2.Promise的用法


    回调是不需要return 就可以传递数据。缺点就是嵌套多了就成了回调地狱

    回调的另外一个问题拿不准应该怎么去传这个参数。以为node.js为例。nodejs有个readFile去读取文件,读取成功就用一个回调,读取失败再来一个回调。每个回调里面,可能还有回调。

    这就是第二个问题,不知道应该去传这个回调。
    nodejs下面,通过error参数为空 表示成功,否则为失败。这是nodejs的方式。

    例如前端的jquery调用ajax

    nodejs这样使用回调,只用传这样一个函数,这个函数的第一个参数是空的就说明没有错误,如果第一个参数不是空的就说明有错误。

    当用jquery的时候,回调的方式又不一样。下面jquery是传递一个对象,如果成功了就给success传一个函数,如果失败了就给error传一个函数。

    也就是不同的方式下回调都不一样,都需要单独记。
    以上就是缺点2.

    promise的形式

    解决了不知道应该回调的问题。

    如果回调里面还有回调,就继续then
     
    promise解决了回调地狱的问题。



    获取用户信息的时候打印出console


    promise的优缺点


    不能resolve为空,空信息也是信息。





    把name改成其他的

    promise套promise,promise地狱




    没有获取到好友的信息




    把数组的第0项resolve出去。






    调用的时候传若愚




    重新定义打印出来的理由。

    因为第一步调用了失败的函数。那么接下来的获取好友信息 是否会被调用呢???


    在获取好友信息的函数里面输出

    被调用了。因为上一步的打印失败理由已经把失败给处理了。

    下面,这么处理不会调用,虽然打印了失败的理由,但是不对这个失败负责,需要会面的回调对这个失败负责。




    另外一种简写的方式。new Promise.reject();

    二次搞定





    搞定的简写 new Promise.resolve()

    结束

  • 相关阅读:
    记录一下自己的洛谷的题解
    初学java 学生管理系统——v0002版本
    初学java 学生管理系统——v0001版本
    Redis守护进程作用+数据类型
    java实现发送短信验证码
    Kali入侵入门版笔记!!!
    2020实现ssh公网外联和外网远程穿透以及内网穿透防火墙
    监控键盘和鼠标记录内容和截屏,更新版本2.0,增加了Linux服务端!!!
    Git管理软件开发项目入门版
    2020年Windows下开机自动执行最强
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11838806.html
Copyright © 2020-2023  润新知