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(() => {成功的回调,函数做参数 }, () => {失败的回调,函数做参数 });

  • 相关阅读:
    Windows Service开发介绍
    解决Vuex持久化插件-在F5刷新页面后数据不见的问题
    selenium+python 安装使用
    字符串拆分姓名、电话、省市区逻辑
    常用正则表达式大全——包括校验数字、字符、特殊密码过滤
    uni-app 地图初用 map
    前端常见手写笔试题
    数组去重和排序
    js获取当前时间年份,处理年月日
    js循环匹配组合成新对象或js循环组合新数据
  • 原文地址:https://www.cnblogs.com/zlf1914/p/12818298.html
Copyright © 2011-2022 走看看