es6-promise相关内容

Node.js 原生 Promise.all 是并行处理还是顺序处理?

我想澄清这一点,作为文档 不太清楚; Q1: Promise.all(iterable) 是按顺序还是并行处理所有 promise?或者,更具体地说,它是否相当于运行像 这样的链式承诺 p1.then(p2).then(p3).then(p4).then(p5).... 或者是其他某种算法,其中所有 p1、p2、p3、p4、p5 等同时(并行)被调用,并且在所有解决(或一个拒绝)后立即 ..
发布时间:2021-12-01 21:59:18 前端开发

jQuery $.Deferred (jQuery 1.x/2.x) 固有的问题

@Domenic 有一篇关于 jQuery 延迟对象的失败的非常详尽的文章:你错过了承诺点.在其中 Domenic 强调了 jQuery 承诺与其他承诺相比的一些失败,包括 Q、when.js、RSVP.js 和 ES6 承诺. 我放弃了 Domenic 的文章,认为 jQuery 承诺在概念上存在固有的失败.我正在尝试为这个概念举例. 我认为 jQuery 实现有两个问题: 1 ..
发布时间:2021-12-01 14:18:32 其他开发

如何在 .then() 链中访问先前的承诺结果?

我已将代码重构为promises,并构建了一个美妙的长扁平promises链,由多个 .then() 回调组成.最后我想返回一些复合值,并且需要访问多个中间承诺结果.但是序列中间的分辨率值不在最后一个回调的范围内,我如何访问它们? function getExample() {返回 promiseA(...).then(function(resultA) {//一些处理返回 promiseB(… ..
发布时间:2021-11-30 21:52:21 前端开发

如何返回许多承诺并在做其他事情之前等待它们

我有一个循环,它调用一个异步执行操作的方法.这个循环可以多次调用该方法.在这个循环之后,我还有另一个循环,只有在所有异步工作都完成后才需要执行. 所以这说明了我想要的: for (i = 0; i 我对 Promise 不是很熟悉,所以有人能帮我实现这个吗? 这是我的 doSomeAsyncStuff() 的行为方式: function doSomeAsyncStuff() { ..

为什么我的无限循环在异步函数中阻塞?

我不明白如何使用异步函数. 为什么下面的代码会停止主线程? 异步函数 foo() {为了 (;;) {}}富(); 解决方案 async 关键字,并承诺在一般情况下,不要使同步代码异步、运行缓慢的代码快速或阻塞代码非-阻塞. 你的函数开始一个循环,然后循环往复. 它没有到达函数的末尾,这将结束函数并解析它返回的承诺. 它没有到达 await 关键字并在等待等待的承诺得 ..
发布时间:2021-11-30 13:33:13 前端开发

我可以解雇并忘记 nodejs (ES7) 中的承诺吗?

我想用 babel 运行这段代码: redisClientAsync.delAsync('key');返回等待 someOtherAsyncFunction(); 在没有 await 第一行的异步函数中.可以吗? 我还能如何运行我不关心的东西? 我可以在没有回调的情况下触发非承诺函数 del('key',null) 吗? 解决方案 是的,你可以这样做,它会并行运行两个异步函 ..

如何在数组的 forEach 循环中使用 promise 来填充对象

我正在一个数组上运行一个 forEach 循环并进行两次返回承诺的调用,我想填充一个对象说 this.options,然后用它做其他事情.现在,如果我使用以下代码示例并首先进入 then 函数,我就会遇到异步问题. $.when.apply($, someArray.map(function(item) {返回 $.ajax({...}).then(function(data){...});}) ..
发布时间:2021-11-18 01:30:20 前端开发

即使我只有一个参数,我也收到了“Wrapped promise not iterable 错误"

我正在尝试在我的 node.js 微服务中使用 Promise.all.Promise.all 的目的是遍历(查询)数组中的所有元素,并通过 apolloFetch 调用另一个微服务,然后在数据库中执行这些查询,然后返回成功或错误.我收到了一个“Wrapped promise is not iterable"错误——我检查了一些关于 SO 的帖子,这些帖子有类似的错误,但在所有这些情况下,都传递了 ..
发布时间:2021-11-15 22:12:13 前端开发

如何支持 API 调用以使用 Promise 或带有标准 Promise 的回调,没有延迟或外部 Promise 库?

我想知道如何在 API 中支持 Promise 和回调.到目前为止,我已经阅读了几篇文章来尝试实现,但是所有这些文章都使用 deferred 或具有 Deferred 的第三方 Promise 库.我想使用原生 ES 承诺.我想知道如何实现这样的东西.请不要参考 Promisify 或任何第三方库,因为我实际上想实现这一点.函数签名如下: 函数(回调){如果(回调){//包装回调并返回 Prom ..
发布时间:2021-11-15 02:37:42 前端开发

来自 ES6 承诺的数据在我点击它之前不会呈现在页面上?

我将 Ionic 用于我的应用,并连接到 Firebase 以提取数据.我在工厂中创建了一个将数据下拉的承诺,并认为它应该在完成后将数据呈现在屏幕上,但在我触摸屏幕之前我什么也没有得到? 我没有发现任何错误,数据确实来了. 工厂: all: function () {返回新的承诺((解决,拒绝)=> {firebase.database().ref('desks').once('va ..

为 promise.all 中的每个 promise 设置超时

我能够成功执行 Promise.all,并优雅地处理解决和拒绝.但是,有些承诺在几毫秒内完成,有些可能/可能需要一段时间. 我希望能够为 Promise.all 中的每个 Promise 设置超时,这样它可以尝试最多花费 5 秒. getData() {var that = this;var tableUrls = ['http://table-one.com','http://table ..

为 promise.all 中的每个 promise 设置超时

我能够成功执行 Promise.all,并优雅地处理解决和拒绝.但是,有些承诺在几毫秒内完成,有些可能/可能需要一段时间. 我希望能够为 Promise.all 中的每个 Promise 设置超时,这样它可以尝试最多花费 5 秒. getData() {var that = this;var tableUrls = ['http://table-one.com','http://table ..

如何处理悬而未决的承诺

我经常想调用一个promise,让它异步运行而不是等待它.喜欢: ...一些代码...fetchMyCount().then(count => {更新UI(计数);});... 更多代码 ... 现在这很好用,但通常我不会在承诺上放置失败处理程序,因为这对每个人来说都非常繁重.这就像在我的每个数据提取上放置一个 try {} catch {}. 问题是,如果它失败了,它会默默地这样做.它 ..
发布时间:2021-11-09 04:08:38 前端开发

多个顺序 fetch() Promise

我必须制作一系列 fetch() 承诺:我一次只有 1 个 url,这意味着只有 1 个 fetch() 承诺.每次我收到一个 json,这个包含另一个 json 的 url,所以我必须做出另一个 fetch() 承诺. 我可以处理多个 promise,但在这种情况下我不能做 Promise.all(),因为我没有所有的 url,只有一个. 这个例子不起作用,它全部冻结了. func ..
发布时间:2021-11-09 01:52:33 前端开发