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

  • 相关阅读:
    Vue的watch监听事件
    Vue路由-命名视图实现经典布局
    Vue中使用children实现路由的嵌套
    Vue中router两种传参方式
    mysql 压缩备份 压缩还原 命令
    【转】SVN branches trunk 合并 讲解
    svn 更新提交文件冲突
    mysql 导出表数据表结构
    利用jenkins打造通过自定义参数更新svn 指定文件任务
    centos 7 安装jira 破解
  • 原文地址:https://www.cnblogs.com/zlf1914/p/12818298.html
Copyright © 2011-2022 走看看