目前,promises完整版的话题当下热度很高,同样对于no promises歌词大家又了解多少呢?今天,我们不妨一起来聊一聊这个话题。
承诺的用法是什么?同步编程通常易于调试和维护,然而,异步编程通常可以获得更好的性能和更大的灵活性。异步更大的特点就是不需要等待。“承诺”逐渐成为JavaScript最重要的部分,大量新的API开始实现承诺原则。我们来看看什么是promise,以及javascript promise的用法。
承诺现状
XMLHttpRequest API是异步的,但是它不使用promise API。但是有许多本地javascript API使用promise:
*电池API
*获取API(xhr的替代)
*ServiceWorker API
承诺在未来只会越来越普及,越来越普遍,越来越重要,所有前端开发者都会用到。另一个值得注意的是,Node.js是一个基于承诺的平台(显然,承诺是它的一个核心特性)。
Promise比你想象的好用,——如果你以前喜欢用setTimeout控制异步任务!
承诺的基本用法
新的Promise()构造函数可以用在传统的异步任务中,就像之前setTimeout和XMLHttpRequest的用法一样。使用new关键字生成一个新的承诺,同时,这个承诺为我们执行回调操作提供了resolve和reject函数:
1可以直接调用Promise.resolve()和Promise.reject()。有时候,当我们判断promise不需要执行时,不需要用new创建Promise对象,而是可以直接调用Promise.resolve()和Promise.reject()。例如:
1因为promise一定会返回,所以我们可以使用then和catch方法来处理返回值!
1Then方法
1中的所有promise对象实例都有一个then方法,用于与此promise进行交互。首先,默认情况下,then方法调用resolve()函数:
1then回调操作的触发时间是执行promise的时间。我们还可以连接then方法来执行回调操作:
1您会发现,每个then调用都将前一个then调用的返回值作为参数。
1如果一个承诺已经被执行,当再次调用单个then时,回调将再次被执行。而如果在这个承诺中执行了拒绝回调函数,这就是再次调用then方法,回调函数不会被执行。
1捕捉方法
1当承诺被拒绝时,将执行Catch方法:
通常我们在reject方法中处理执行失败的结果,而在catch: reject中执行异常结果(error(' data not be found '));
2至此,这里简单介绍一下promise的用法。在过去的几年里,Promises一直是一个非常热门的话题,它甚至已经从JavaScript中分离出来,变成了一种语言架构。我相信很快我们就会看到越来越多的JavaScript API使用基于承诺的模式。学习promise的用法可以简化你在JavaScript中的操作。
以上,就是promises完整版,no promises歌词的全部内容了,如果大家还想了解更多,可以关注我们哦。