首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏向治洪

    Promises机制

    算法虽不强制要求,但也鼓励施者检测这样的递归是否存在,若检测到存在则以一个可识别的 TypeError 为据因来拒绝 promise Promises规范 到目前为止Promises指定了A、B、D、A /B 在 Promises/A 的基础上, Promises/B 定义了一组 promise 模块需要实现的 API: when(value, callback, errback_opt) 如果 value Promises/D 为了增加不同 promise 实现之间的可互操作性, Promises/D 规范对 promise 对象和 Promises/B 规范做了进一步的约定。 简单来说 Promises/D 规范,做了两件事情: 如何判断一个对象是 Promise 类型。 对 Promises/B 规范进行细节补充。 /A+ 前面提到的 Promises/A/B/D 规范都是有 CommonJS 组织提出的, Promises/A+是有一个自称为Promises/A+ 组织发布的,该规范是以 Promises/A 作为基础进行补充和修订

    1.1K40编辑于 2022-11-30
  • 来自专栏全栈程序员必看

    初识Promises

    相对原始的callbacks而言,promises无疑是更好的选择。可掌握promises的概念及其用法可能不太容易, 而且很有可能你已经放弃它了。 这一努力的结果就是Promises/A+规范,它以自己的方式影响了各种promises库,甚至DOM。 扯了这么多,promises到底是什么?写Node程序时它能帮上什么忙? 从Callbacks 到 promises 看过这个promises的基础知识后,我们再来看一个经典的异步 Node callback: readFile(function (err, data) { 这可以算是promises最强的一个特性了。 下面是几个帮你开始的主意: 封装一些基本的Node流程,将callbacks 变成 promises 重写一个async方法,变成使用promise的 写一些递归使用promises的东西(目录树应该是个不错的开端

    95610编辑于 2022-11-16
  • 来自专栏杰的记事本

    使用Jasmine测试Angular Promises

    Jasmine provides a few more tools when dealing with promises. //more code here crossing user and stores data }); }); }); Lets see how to test these two promises

    1.3K30发布于 2019-09-04
  • 来自专栏call_me_R

    【译】JavaScript中的Promises

    你有没有在JavaScript中遇到过promises并想知道它们是什么?它们为什么会被称为promises呢?它们是否和你以任何方式对另一个人做出的承诺有关呢? 此外,你为什么要使用promises呢?与传统的JavaScript操作回调(callbacks)相比,它们有什么好处呢? 在本文中,你将学习有关JavaScript中promises的所有内容。 一次触发多个promises promises比callbacks的另一个好处是,如果操作不依赖于彼此,则可以同时触发两个(或多个)promises,但是执行第三个操作需要两个结果。 为此,你使用Promise.all方法,然后传入一组你想要等待的promises。then的参数将会是一个数组,其包含你promises返回的结果。 它支持IE8的promises。? 结语 你在本文中学到了所有关于promises的知识。简而言之,promises棒极了。它可以帮助你编写异步代码,而无需进入回调地狱。

    1.9K20发布于 2019-07-31
  • 来自专栏技术分享交流

    JavaScript专项算法题(6):Promises

    Promises期约 挑战1 问题: 让我们从复习异步函数开始吧!使用setTimeout,在1000ms后打印字符串“Hello!”。 // ADD CODE HERE promise.catch(res => console.log(res)) 挑战4 问题: Promises期约是异步的。现在让我们来证明它们确实如此! test // This code should log "Hello" after 1000ms delay().then(sayHello); 挑战6 问题: 在这个挑战中我们会使用.then链式调用promises

    48120编辑于 2023-02-16
  • 来自专栏四火的唠叨

    你没有抓住 Promises 的要点

    注:这篇文章翻译自 《You're Missing the Point of Promises》,阅读这篇文章,你首先需要对于 JavaScript 中的 Promises 是什么有了解,否则,你可以先看一看这篇文章 Promises 是一种令代码异步行为更加优雅的抽象。 那么 Promises 的要点是啥? 最重要的是,promises 根本就不是简单的回调函数聚合。promises 并不是那么简单的东西,它是一种为同步函数和异步函数提供直接一致性的模式。 啥意思呢? 对于 Promises/A 规范实现类库的作者,我们必须做到:凡是写出 then 方法这样机制的 promise,都得去完全地符合 Promises/A 规范。 不过最棒的是这个 Promises/A+组织的开源项目,一个松耦合的实现,用清晰的和测试完备的方式呈现扩展了原有 Promises/A 规范,成为 Promises/A+规范。

    94510编辑于 2022-07-15
  • 来自专栏call_me_R

    JavaScript中的Promises

    你有没有在JavaScript中遇到过promises并想知道它们是什么?它们为什么会被称为promises呢?它们是否和你以任何方式对另一个人做出的承诺有关呢? 此外,你为什么要使用promises呢?与传统的JavaScript操作回调(callbacks)相比,它们有什么好处呢? 在本文中,你将学习有关JavaScript中promises的所有内容。 一次触发多个promises promises比callbacks的另一个好处是,如果操作不依赖于彼此,则可以同时触发两个(或多个)promises,但是执行第三个操作需要两个结果。 为此,你使用Promise.all方法,然后传入一组你想要等待的promises。then的参数将会是一个数组,其包含你promises返回的结果。 它支持IE8的promises。 结语 你在本文中学到了所有关于promises的知识。简而言之,promises棒极了。它可以帮助你编写异步代码,而无需进入回调地狱。

    1.7K20编辑于 2023-05-24
  • 来自专栏青梅煮码

    async 函数和 promises 的性能提升

    不过,这一切正在改变,这篇文章会详细解释我们是如何优化 V8 引擎(也会涉及一些其它引擎)里的 async 函数和 promises 的,以及伴随着的开发体验的优化。 异步编程的新方案 从 callbacks 到 promises,再到 async 函数 在 promises 正式成为 JavaScript 标准的一部分之前,回调被大量用在异步编程中,下面是个例子: 幸运地是,现在 promises 成为了 JavaScript 语言的一部分,以下实现了跟上面同样的功能: function handler() { return validateParams() c04bdc793026433b8e4d06ef9673f60etplv-k3u1fbpfcp-zoom-1.image_-3-1.png 上面是基于市场上流行的 HTTP 框架做的测试,这些框架大量使用了 promises

    1.1K20编辑于 2023-02-18
  • 来自专栏若川视野

    动图学JS异步: Promises & AsyncAwait

    当我们开发JavaScript应用时候,我们经常要处理依赖于其他任务的任务!比方说,我们想要先获取一个图像,然后经过压缩,应用过滤器,最后保存它。

    1.5K20发布于 2020-11-02
  • 来自专栏葡萄城控件技术团队

    异步编程之Javascript Promises 规范介绍

    什么是 Promises Promises是一种关于异步编程的规范,目的是将异步处理对象和处理规则进行规范化,为异步编程提供统一接口。 Promises 规范 Promises/A(http://wiki.commonjs.org/wiki/Promises/A)是由CommonJS组织制定的异步模式编程规范,提供了一个在程序中描述延时 Promises/A+(https://promisesaplus.com/)规范是对Promises/A规范的补充和修改。 ,error); }); 浏览器支持: Promises 现在已经是JavaScript标准的一部分了, 几乎全部的浏览器已经实现了Promises API,浏览器兼容性如下: ? 本文简要的介绍了Promises的基础知识,希望我们我们能够更好的使用Promises,更轻松的编写代码。

    88380发布于 2018-01-10
  • 来自专栏落影的专栏

    iOS的异步处理神器——Promises

    快来投入Promises的怀抱吧。 正文 回调任务是很正常的现象,比如说购买一个商品,需要下单,然后等后台返回。 Promises就是用来辅助实现这样设计的库。 的使用 Promises库的引入非常简单,可以使用CocoaPod,Podfile如下: pod 'PromisesObjC' 也可以到GitHub手动下载。 Promises库的设计很简单,基于Promise设计模式和iOS的GCD来实现。 在刚开始看Promises源码时,产生过一个疑问,为什么所有Promises的操作要放在同一个group内?

    3.6K20发布于 2019-07-15
  • 来自专栏cc log

    用漫画来解说AngularJs中的Promises

    原文:Promises in AngularJS, Explained as a Cartoon

    1.1K10编辑于 2022-08-16
  • 来自专栏程序员成长指北

    「译」更快的 async 函数和 promises

    来源:https://www.yuque.com/es2049/blog 译自:Faster async functions and promises JavaScript 的异步过程一直被认为是不够快的 不过,这一切正在改变,这篇文章会详细解释我们是如何优化 V8 引擎(也会涉及一些其它引擎)里的 async 函数和 promises 的,以及伴随着的开发体验的优化。 异步编程的新方案 从 callbacks 到 promises,再到 async 函数 在 promises 正式成为 JavaScript 标准的一部分之前,回调被大量用在异步编程中,下面是个例子: 幸运地是,现在 promises 成为了 JavaScript 语言的一部分,以下实现了跟上面同样的功能: function handler() { return validateParams() 上面是基于市场上流行的 HTTP 框架做的测试,这些框架大量使用了 promises 和 async 函数,这个表展示的是每秒请求数,所以跟之前的表不一样,这个是数值越大越好。

    1.4K10发布于 2020-10-10
  • 来自专栏前端黑板报

    35 - Promises:链式、错误处理和运算符​

    原文:https://dev.to/bhagatparwinder/promises-chaining-error-handling-operators-3ccb 上篇文章详细的介绍了什么是 promise

    64230编辑于 2022-12-01
  • 来自专栏伪架构师

    【译】《Thinking in Promises》第二章:意图的许可

    意图性是用于描述目的的,是人类判断的体现。意图是更大视角下的宏伟设计的一部分。我们用这种目的感来丈量我们的生活。意图是一个敏感的问题。目的不会超越观察者的视角——我们就是这观察者。

    36810编辑于 2024-01-29
  • 来自专栏全栈修炼

    可视化的 js:动态图演示 Promises & AsyncAwait 的过程!

    原文地址:https://dev.to/lydiahallie/javascript-visualized-promises-async-await-5gke 原文作者:Lydia Hallie 原由

    2.7K10发布于 2020-06-01
  • 来自专栏伪架构师

    【译】《Thinking in Promises》第三章:对承诺进行评估

    对承诺的评估,决定了承诺的价值。从根本上来说,对承诺的评估是一个主观的过程。每个代理人可能会基于各自的观察得出不同的评估。代理 1 可能拥有使香菜/芫荽尝起来像肥皂的基因,而代理 2 是一个狂热的泰国食品爱好者,他们对同一个餐厅的评价结果可能迥然不同。因此,评估结果和不同代理观点的个性或相对性是强相关的。

    37610编辑于 2024-02-26
  • 来自专栏前端壹栈

    按照 PromiseA+ 手写Promise,通过promises-aplus-tests的全部872个测试用例

    链接:https://juejin.cn/post/6910500073314975758 本文主要讲述如何根据 Promises/A+ 规范,一步步手写一个 Promise 的 polyfill,代码中会配上对应的规范解释 Promise.race = function(promises) { return new Promise((resolve, reject) => { promises.forEach( index = 0, length = promises.length; index < length; index++) { Promise.resolve(promises[index index = 0, length = promises.length; index < length; index++) { Promise.resolve(promises[index 代码 github 地址: [github.com/ydiguo/Prom…] Promises/A+ 规范(译本): [juejin.cn/post/691047…]

    1.2K30发布于 2021-01-07
  • 来自专栏WflynnWeb

    同一个套路手撕 Promise 的 all、allSettled、any、race 方法

    首先处理的是当参数为空迭代对象时,我们的模板长这样: +function template(promises){ + if(promises.length === 0){ + // 根据不同情况作处理 + } +} 复制代码 当参数的长度不为空时,返回一个新的 Promise: function template(promises){ if(promises.length 因为 promises 的成员里可能混入了一些不是 promise 的值,所以用 Promise.resolve 去解析后就能统一为其添加 then 回调了。 具体实现 all 方法 function all(promises) { if (promises.length === 0) return Promise.resolve([]) return promises.forEach(item => { item.then(resolve, reject) }) }) }

    69230编辑于 2022-10-28
  • 来自专栏快乐阿超

    promisesaplus.com

    ——列夫·托尔斯泰 今天刷到一个网站: https://promisesaplus.com/ 对应的组织: https://github.com/promises-aplus/ 对应有一个开源库用来检验是否符合 Promise/A+规范: https://github.com/promises-aplus/promises-tests/ 安装: npm install promises-aplus-tests -g 然后添加CI脚本 { "devDependencies": { "promises-aplus-tests": "*" }, "scripts": { = require("promises-aplus-tests"); promisesAplusTests(adapter, function (err) { // All done; output Or check `err` for number of failures. }); 如果你已经有一个Mocha测试套件,可以将Promises/A+的测试包含进去,只需在你的测试代码中引入并调用适应的方法

    30310编辑于 2024-01-13
领券