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);

     
     
  • 相关阅读:
    jquery处理鼠标左中右键事件
    bootstrap弹出框
    移动端去掉a标签点击时出现的背景
    sessionStorage
    页面滑动到最下面,执行代码
    判断页面时向上滚动还是向下滚动
    sql 时间查询 /sql中判断更新或者插入/查询一年所有双休日
    求取最大值
    Repeater 获取数据值
    加载完毕后执行计算
  • 原文地址:https://www.cnblogs.com/honghong87/p/9144357.html
Copyright © 2011-2022 走看看