数码资讯
异步编程规范在Javascript中承诺
Javascript中的异步编程已为大家所接受。在你通常通过嵌套setTimeout、setInterval,等,代码看起来很不。它没有看到,整个代码的逻辑是很难理解的很快。在Javascript异步函数有可能我 / O功能(Ajax,PostMessage,IMG加载,脚本加载,等),时间函数(s
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
Javascript中的异步编程已为大家所接受。在你通常通过嵌套setTimeout、setInterval,等,代码看起来很不。它没有看到,整个代码的逻辑是很难理解的很快。在Javascript异步函数有可能我 / O功能(Ajax,PostMessage,IMG加载,脚本加载,等),时间函数(setTimeout、setInterval),等。
我们都非常熟悉,在复杂的应用往往是嵌套的,或者有些步骤不完整,导致异常的程序,最简单的例子:比如,你去到DOM节点,你必须等待的节点注射操作后,在时间节点号码是很难把握的,如果我们得到的代码依赖于第三方的数据API。我们不能了解一个API的响应延迟时间,和应用程序的其他部分可能被阻塞直到它返回。承诺提供一个更好的解决这个问题,它是非阻塞的,是从代码完全解耦。
那么,让我来看看Javascript中的异步编程,首先推荐您看一个比较流行的承诺/规范。
承诺/规范
注意:为了便于理解,说明可能与承诺/规范不符。
CommonJS的承诺 /规范简化异步编程规范的API接口,使得我们的代码更容易理解异步逻辑。
遵守承诺、规范来实现我们所说的承诺目标,承诺的对象只有三个州:未完成的(未完成),完成(完成的),失败(失败/拒绝);当初始创作是未完成的(未完成)的状态,国家只能从满足到满足((未完成)完成的),或未完成的(未完成)为失败(失败/拒绝)。一旦国家成为实现(完成)或失败(失败/拒绝),国家不能再改变。
承诺/规范提供了一个解决方案,描述了延迟的概念(或未来的)在一个程序中,主要的想法是不执行的方法,然后应用的块,等待结果返回,然后回调的其他方法,但回到一个承诺对象来满足未来的监测。完成状态和故障状态进行监测,保证收益的承诺对象实施再登记回调接口:
复制代码代码如下:(fulfilledhandler,然后程序,progresshandler);
当时的接口是用来监控一个promise.fulfilledhandler不同状态是用来监测完成(完成的)状态,程序是用来监视失败(失败/拒绝)状态,progresshandler用于监控未完成的(不完全)状态。承诺不强制实现的(不完全)事件监测。例如,我们知道jQuery的旧版本(1.5,1.6)递延是承诺的实现,但不能实现的(不完全)状态,回调progresshandler。
一般来说,当时的接口返回一个新的承诺的对象,而不是原来的承诺,新的承诺对象可以被理解为一种观点的最初承诺的对象,它只包含一组承诺对象原有的方法,这些方法只能观察到原来承诺的对象的状态,对象的内部状态是不能延期改变。这避免了多用户之间的冲突,以及多用户可以更改新的承诺对象的状态而不影响其他用户。
此外,承诺提供了两个接口的转换,以实现解决状态(实现从不完全到完整的状态)和拒绝(实现从不完全状态到拒绝或失败)。
发送一张图片帮助你理解:
有了承诺,异步逻辑可以使用同步,异步功能,试试/抓不可用于捕获异常或抛出异常。有了承诺,我们可以明确定义的程序,这相当于捕获异常。
以下是类库遵守承诺 /规范时,Q,rsvp.js,jQuery的延期,等。
我们都非常熟悉,在复杂的应用往往是嵌套的,或者有些步骤不完整,导致异常的程序,最简单的例子:比如,你去到DOM节点,你必须等待的节点注射操作后,在时间节点号码是很难把握的,如果我们得到的代码依赖于第三方的数据API。我们不能了解一个API的响应延迟时间,和应用程序的其他部分可能被阻塞直到它返回。承诺提供一个更好的解决这个问题,它是非阻塞的,是从代码完全解耦。
那么,让我来看看Javascript中的异步编程,首先推荐您看一个比较流行的承诺/规范。
承诺/规范
注意:为了便于理解,说明可能与承诺/规范不符。
CommonJS的承诺 /规范简化异步编程规范的API接口,使得我们的代码更容易理解异步逻辑。
遵守承诺、规范来实现我们所说的承诺目标,承诺的对象只有三个州:未完成的(未完成),完成(完成的),失败(失败/拒绝);当初始创作是未完成的(未完成)的状态,国家只能从满足到满足((未完成)完成的),或未完成的(未完成)为失败(失败/拒绝)。一旦国家成为实现(完成)或失败(失败/拒绝),国家不能再改变。
承诺/规范提供了一个解决方案,描述了延迟的概念(或未来的)在一个程序中,主要的想法是不执行的方法,然后应用的块,等待结果返回,然后回调的其他方法,但回到一个承诺对象来满足未来的监测。完成状态和故障状态进行监测,保证收益的承诺对象实施再登记回调接口:
复制代码代码如下:(fulfilledhandler,然后程序,progresshandler);
当时的接口是用来监控一个promise.fulfilledhandler不同状态是用来监测完成(完成的)状态,程序是用来监视失败(失败/拒绝)状态,progresshandler用于监控未完成的(不完全)状态。承诺不强制实现的(不完全)事件监测。例如,我们知道jQuery的旧版本(1.5,1.6)递延是承诺的实现,但不能实现的(不完全)状态,回调progresshandler。
一般来说,当时的接口返回一个新的承诺的对象,而不是原来的承诺,新的承诺对象可以被理解为一种观点的最初承诺的对象,它只包含一组承诺对象原有的方法,这些方法只能观察到原来承诺的对象的状态,对象的内部状态是不能延期改变。这避免了多用户之间的冲突,以及多用户可以更改新的承诺对象的状态而不影响其他用户。
此外,承诺提供了两个接口的转换,以实现解决状态(实现从不完全到完整的状态)和拒绝(实现从不完全状态到拒绝或失败)。
发送一张图片帮助你理解:
有了承诺,异步逻辑可以使用同步,异步功能,试试/抓不可用于捕获异常或抛出异常。有了承诺,我们可以明确定义的程序,这相当于捕获异常。
以下是类库遵守承诺 /规范时,Q,rsvp.js,jQuery的延期,等。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。