驱动管家:安全、高效、精准的专业驱动下载站!

promise的用法是什么?promise返回值怎么处理?

2017-12-25 17:35:08责编:llp   来源:驱动管家     人气:

promise的用法是什么?同步编程通常来说易于调试和维护,然而,异步编程通常能获得更好的性能和更大的灵活性。异步的最大特点是无需等待。“Promises”渐渐成为JavaScript里最重要的一部分,大量的新API都开始promise原理实现。下面让我们看一下什么是promise以及javascript promise的用法。

Promises现状

XMLHttpRequest API是异步的,但它没有使用promise API。但有很多原生的 javascript API 使用了promise:

*Battery API

*fetch API (XHR的替代品)

*ServiceWorker API

Promises将来只会变得越来越流行、普遍,非常重要,所有的前端开发人员都将用到它。另一个值得注意的是,Node.js是基于Promises的平台(很显然,Promise是它的一个核心特征)。

Promise的用法比你想象的要简单——如果你以前喜欢使用setTimeout来控制异步任务的话!

Promise基本用法

new Promise()构造器可以用在传统的异步任务中,就像以前 setTimeout 和 XMLHttpRequest 的用法一样。一个新的 Promise 使用 new 关键字生成,同时,这个 Promises 提供了 resolve 和 reject 函数让我们执行回调操作:

promise的用法是什么?promise返回值怎么处理?

Promise.resolve() 和 Promise.reject() 可以直接被调用。有时候,当判断出 promise 并不需要真正执行时,我们并不需要 使用 new 创建 Promise 对象,而是可以直接调用 Promise.resolve() 和 Promise.reject()。比如:

promise的用法是什么?promise返回值怎么处理?

因为 promise 肯定会返回,所以,我们可以使用 then 和 catch 方法处理返回值!

then 方法

所有的 promise 对象实例里都有一个 then 方法,它是用来跟这个 promise 进行交互的。首先,then 方法会缺省调用 resolve() 函数:

promise的用法是什么?promise返回值怎么处理?

then 回调动作的触发时机是 promise 被执行完。我们还可以串联 then 方法执行回调操作:

promise的用法是什么?promise返回值怎么处理?

你会发现,每次 then 调用都会以之前的 then 调用的返回值为参数。

如果一个 promise 已经执行完成,单 then 被再次调用时,回调动作将会被再次执行。而如果这个 promise 里执行的是reject 回调函数,这是再调用 then 方法,回调函数将不会被执行。

catch 方法

catch 当一个 promise 被拒绝(reject)时,catch 方法会被执行:

promise的用法是什么?promise返回值怎么处理?

通常我们在 reject 方法里处理执行失败的结果,而在catch 里执行异常结果:reject(Error('Data could not be found'));

至此,关于promise的用法就简单的介绍到这里了。Promises在过去几年是一个非常火爆的话题,它甚至从JavaScript里抽离出来变成了一个语言架构。相信很快我们将见到有愈来愈多的JavaScript API将使用以promise为基础的模式,学会promise的用法能简化你在JavaScript中的操作。

  • 惠普电脑想要设置u盘启动的方法是什么

    惠普电脑想要设置u盘启动的方法是什么

    导语:如今这个社会,早已经变成了 高科 技 现代 化的一个社会,曾经或许这些高科技电子技术离我们还很远,但是现在,随着社会的发展,高科技的脚步已经离我们越来越近,甚至早已经进入了我们每个人的生活之中。如今,电脑这种高科技产品在我们的生活中已经成为了很多人必备的一个电子设备,无论是学习,工作或者是娱乐

    详情2017-12-22 10:54:59责编:dj   来源:驱动管家      人气:
  • 简单几步教你轻松破解win7开机密码

    简单几步教你轻松破解win7开机密码

    时代的不断进步,科技物越来越多,它们功能也越来越强大,很多都可以设置自己独立的密码进行保护,那么你知道电脑设置开机密码的方法吗?当我们将电脑的开机密码忘记了的时候,我们又该怎么办呢?下面我们就一起来看看win 7电脑开机密码的设置方法和破解方法吧。

    详情2017-12-09 12:14:28责编:dj   来源:驱动管家      人气:
  • excel换行:excel自动换行和强行换行的区别

    excel换行:excel自动换行和强行换行的区别

    excel表格中自动换行和强行换有什么不同?1、首先我们打开一个工作样表作为例子。2、我们在单元格中输入一长串单元格所容纳不下的 字符串 。如图所示:3、在右键菜单面板中点击 单元格设置 ,如图所示:

    详情2017-12-25 12:05:30责编:dj   来源:驱动管家      人气:
  • 关于运行内存和机身内存的这些区别你都知道吗

    关于运行内存和机身内存的这些区别你都知道吗

    说起手机的运行内存,你可能不知道是什么,说起RAW,想必大家都觉得眼熟,没错,这就是我们使用手机中经常见到的运行内存缩写。事实上,除了运行内存,我们每天还在使用着另外一种内存,它就是机身内存。今天小编就带大家走进机身内存和运行内存的世界,并对运行内存和机身内存的区别做一个大致的了解。

    详情2017-11-28 10:17:20责编:dj   来源:驱动管家      人气:
  • shell32.dll是什么

    shell32.dll是什么

    shell32 dll是Windows的32位外壳动态链接库文件,用于打开网页和文件,建立文件时的默认文件名的设置等大量功能。严格来讲,它只是代码的合集,真正执行这些功能的是操作系统的相关程序,dll文件只是根据设置调用这些程序的相关功能罢了。

    详情2017-12-21 16:17:42责编:一剑   来源:驱动管家      人气:
  • excel如何算数?excel加减乘除算法介绍

    excel如何算数?excel加减乘除算法介绍

    Excel如何算数,比如加减乘除什么的,下面小编就为大家介绍一下,来看看吧!首先电脑上面带有Excel,一般电脑装机的时候都会带的,双击运行“Excel”然后显示主界面。

    详情2017-12-07 16:14:53责编:dj   来源:驱动管家      人气:
  • excel如何冻结窗口?excel冻结窗口方法介绍

    excel如何冻结窗口?excel冻结窗口方法介绍

    excel如何冻结窗口呢 当数据比较多时,我们可以使用冻结窗口功能来独立地显示并滚动工作表中的不同部分,方便数据的查看,下面小编就为大家介绍excel冻结窗口方法,不会的朋友可以参考本文,来看看吧!

    详情2017-12-06 18:00:24责编:dj   来源:驱动管家      人气:
  • 如何重装电脑系统?重装系统的方法

    如何重装电脑系统?重装系统的方法

    说到电脑,大家最爱的是哪个品牌的电子呢?小编想大多数朋友都会回答 苹果 电脑吧。的确苹果电脑它以时尚的外观以及强大的ios系统受到广大消费者的追捧。它的ios系统跟windows系统是不一样的,因此有很多人就是为了ios系统才愿意花费昂贵的金钱来购买苹果产品。

    详情2017-11-16 09:01:43责编:dj   来源:驱动管家      人气:
  • excel筛选方法介绍:excel自动排序筛选后序号的方法

    excel筛选方法介绍:excel自动排序筛选后序号的方法

    excel如何自动排序筛选后序号?1、首先打开excel表格,按住ctrl连续序号。2、然后筛选一些人名后,发现时序号不连续了。3、右侧重新创建一个序号列,输入=subtotal,选择3。4、输入完整公式=subtotal(3,B$2:B2)

    详情2017-12-25 13:54:00责编:dj   来源:驱动管家      人气:
  • win7隐藏文件怎么显示?显示win7隐藏文件的方法

    win7隐藏文件怎么显示?显示win7隐藏文件的方法

    有朋友在电脑的使用过程中,总是会将一些文件隐藏掉。但是日后再想找出来看的时候却发现怎么也显示不出来。本文小编就来教大家win7隐藏文件怎么显示,不明白的亲们赶紧来学学看!

    详情2017-12-13 17:56:03责编:dj   来源:驱动管家      人气: