zoukankan      html  css  js  c++  java
  • 理解promise 02

    1:promise是什么?

      就是(链式)包装的回调函数.

    2:语法

      new Promise( function(resolve, reject) {...} /* executor */ );

          executor是带有 resolve 和 reject 两个参数的函数 。Promise构造函数执行时立即调用executor 函数

    3:怎么使用?

      promise.then(回调函数)   (注意可以有两个回调函数,resolve,reject)

    4:注意执行顺序

    setTimeout(function() {
    console.log(1);
    }, 0);

    new Promise(function (resolve, reject) {
    resolve(2);
    }).then(console.log);

    console.log(3);

     

    process.nextTick(() => {
    console.log('nextTick')
    })
    Promise.resolve()
    .then(() => {
    console.log('then')
    })
    setImmediate(() => {
    console.log('setImmediate')
    })
    console.log('end')

    5:加深理解

    promise替代了下面这种旧式的函数,这种旧式函数需要两个回调函数,并最终调用处理成功事件或者处理失败事件的回调函数:

    function successCallback(result) {
    console.log("It succeeded with " + result);
    }

    function failureCallback(error) {
    console.log("It failed with " + error);
    }

    doSomething(successCallback, failureCallback);
    新式函数返回一个你可以直接绑定回调函数的promise对象,来代替旧式的函数形式:

    const promise = doSomething();
    promise.then(successCallback, failureCallback);
    或者更简单的形式:

    doSomething().then(successCallback, failureCallback);

     
     
  • 相关阅读:
    you must restart adb and eclipse的相关解决办法
    Qt slot中获取sender
    添加开机启动项
    Unreal开发HTC Vive程序,开启VR编辑模式
    Android弹出一项权限请求
    Unreal新建C++类或C++项目失败
    win10 设置C盘访问权限
    windows系统共享设置最顺的一次
    下载Qt安装包
    单例模式
  • 原文地址:https://www.cnblogs.com/honghong87/p/9144357.html
Copyright © 2011-2022 走看看