zoukankan      html  css  js  c++  java
  • promise

    回调函数

    函数是对象,函数可以当做参数被传递。将一个函数当做参数传递给另外一个函数

    回调函数与同步,异步并没有直接的联系,回调只是一种实现方式,有同步回调,也有异步回调,事件处理回调,延迟函数回调......

    出现回调的地方

    数组的新方法 forEach/filter/map...... arr.forEach(function(){})

    事件处理回调 document.onclick = function(){}

    延迟函数回调 setInterval(function(){},1000)

    自定义的回调

    回调函数的意义

    javascript是单线程的,每一次只能执行一个任务。有时候需要等到一个操作执行完成之后再执行下一个操作。

    回调函数不会立马执行,会在某个特定的时间点被回调。

    回调函数可以解决顺序问题。

    promise

    promise:承诺的意思。(状态一旦设定,不能改变)。

    Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。

    通过new构造函数创建promise对象,构造函数的参数里面又有一个函数参数,这个函数函数里面又有两个参数(resolve,reject),一个代表成功的回调,一个是失败的回调。

    Promise对象有以下两个特点

    对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)

    一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为rejected。

    pending变为fulfilled -->resolve

    pending变为rejected -->reject

    promise写法

    promise.then(() => {成功的回调,函数做参数 });
    promise.catch(() => {失败的回调,函数做参数 });

    promise.then(() => { }).catch(() => { })

    promise.then(() => {成功的回调,函数做参数 }, () => {失败的回调,函数做参数 });

  • 相关阅读:
    笔记-归并排序
    Repeated Substring Pattern
    Assign Cookies
    Number of Boomerangs
    Paint Fence
    Path Sum III
    Valid Word Square
    Sum of Two Integers
    Find All Numbers Disappeared in an Array
    First Unique Character in a String
  • 原文地址:https://www.cnblogs.com/zlf1914/p/12818298.html
Copyright © 2011-2022 走看看