es6-promise相关内容
我想澄清这一点,作为文档 不太清楚; Q1: Promise.all(iterable) 是按顺序还是并行处理所有 promise?或者,更具体地说,它是否相当于运行像 这样的链式承诺 p1.then(p2).then(p3).then(p4).then(p5).... 或者是其他某种算法,其中所有 p1、p2、p3、p4、p5 等同时(并行)被调用,并且在所有解决(或一个拒绝)后立即
..
@Domenic 有一篇关于 jQuery 延迟对象的失败的非常详尽的文章:你错过了承诺点.在其中 Domenic 强调了 jQuery 承诺与其他承诺相比的一些失败,包括 Q、when.js、RSVP.js 和 ES6 承诺. 我放弃了 Domenic 的文章,认为 jQuery 承诺在概念上存在固有的失败.我正在尝试为这个概念举例. 我认为 jQuery 实现有两个问题: 1
..
假设我有一组 Promise 正在发出网络请求,其中一个会失败: //http://does-not-exist 会抛出 TypeErrorvar arr = [ fetch('index.html'), fetch('http://does-not-exist')]Promise.all(arr).then(res => console.log('success', res)).catch(e
..
我已将代码重构为promises,并构建了一个美妙的长扁平promises链,由多个 .then() 回调组成.最后我想返回一些复合值,并且需要访问多个中间承诺结果.但是序列中间的分辨率值不在最后一个回调的范围内,我如何访问它们? function getExample() {返回 promiseA(...).then(function(resultA) {//一些处理返回 promiseB(…
..
我有一个循环,它调用一个异步执行操作的方法.这个循环可以多次调用该方法.在这个循环之后,我还有另一个循环,只有在所有异步工作都完成后才需要执行. 所以这说明了我想要的: for (i = 0; i 我对 Promise 不是很熟悉,所以有人能帮我实现这个吗? 这是我的 doSomeAsyncStuff() 的行为方式: function doSomeAsyncStuff() {
..
我不明白如何使用异步函数. 为什么下面的代码会停止主线程? 异步函数 foo() {为了 (;;) {}}富(); 解决方案 async 关键字,并承诺在一般情况下,不要使同步代码异步、运行缓慢的代码快速或阻塞代码非-阻塞. 你的函数开始一个循环,然后循环往复. 它没有到达函数的末尾,这将结束函数并解析它返回的承诺. 它没有到达 await 关键字并在等待等待的承诺得
..
我想用 babel 运行这段代码: redisClientAsync.delAsync('key');返回等待 someOtherAsyncFunction(); 在没有 await 第一行的异步函数中.可以吗? 我还能如何运行我不关心的东西? 我可以在没有回调的情况下触发非承诺函数 del('key',null) 吗? 解决方案 是的,你可以这样做,它会并行运行两个异步函
..
给定 let arr = [1,2,3];功能过滤器(数量){return new Promise((res, rej) => {setTimeout(() => {如果(数量=== 3){资源(数量);} 别的 {rej();}}, 1);});}函数 filterNums() {返回 Promise.all(arr.filter(filter));}filterNums().then(res
..
我正在一个数组上运行一个 forEach 循环并进行两次返回承诺的调用,我想填充一个对象说 this.options,然后用它做其他事情.现在,如果我使用以下代码示例并首先进入 then 函数,我就会遇到异步问题. $.when.apply($, someArray.map(function(item) {返回 $.ajax({...}).then(function(data){...});})
..
我正在尝试在我的 node.js 微服务中使用 Promise.all.Promise.all 的目的是遍历(查询)数组中的所有元素,并通过 apolloFetch 调用另一个微服务,然后在数据库中执行这些查询,然后返回成功或错误.我收到了一个“Wrapped promise is not iterable"错误——我检查了一些关于 SO 的帖子,这些帖子有类似的错误,但在所有这些情况下,都传递了
..
我想知道如何在 API 中支持 Promise 和回调.到目前为止,我已经阅读了几篇文章来尝试实现,但是所有这些文章都使用 deferred 或具有 Deferred 的第三方 Promise 库.我想使用原生 ES 承诺.我想知道如何实现这样的东西.请不要参考 Promisify 或任何第三方库,因为我实际上想实现这一点.函数签名如下: 函数(回调){如果(回调){//包装回调并返回 Prom
..
我正在尝试使用 Spotify API 文档页面上的客户端凭据流授权 Spotify API 请求.这是我使用 fetch API 的 javascript ES6 格式代码 const response = await fetch('https://accounts.spotify.com/api/token', {模式:'no-cors',方法:'POST',标题:{'授权':'基本Yzg
..
我将 Ionic 用于我的应用,并连接到 Firebase 以提取数据.我在工厂中创建了一个将数据下拉的承诺,并认为它应该在完成后将数据呈现在屏幕上,但在我触摸屏幕之前我什么也没有得到? 我没有发现任何错误,数据确实来了. 工厂: all: function () {返回新的承诺((解决,拒绝)=> {firebase.database().ref('desks').once('va
..
一旦所有三个都完成,我有 3 个并行承诺或 api 请求,我需要根据第二个承诺调用另一个 api 请求,然后最后调用 .then( of $q.all 这是代码 getAllLocations() {//为这里的所有人做一个承诺电话.var 承诺 = [];从promise.push(this.getLocations(Id).then((locationsData) =>{this.l
..
我能够成功执行 Promise.all,并优雅地处理解决和拒绝.但是,有些承诺在几毫秒内完成,有些可能/可能需要一段时间. 我希望能够为 Promise.all 中的每个 Promise 设置超时,这样它可以尝试最多花费 5 秒. getData() {var that = this;var tableUrls = ['http://table-one.com','http://table
..
我无法理解角度组件的作用域.如果我做这样的事情: function myComponent(){this.data = '你好世界';}让 myModule = angular.module('myModule', []);myModule.component('myComponent', {模板:`
{{$ctrl.data}}`,控制器:myComponent});
..
我能够成功执行 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 {}. 问题是,如果它失败了,它会默默地这样做.它
..
我无法理解角度组件的作用域.如果我做这样的事情: function myComponent(){this.data = '你好世界';}让 myModule = angular.module('myModule', []);myModule.component('myComponent', {模板:`
{{$ctrl.data}}`,控制器:myComponent});
..
我必须制作一系列 fetch() 承诺:我一次只有 1 个 url,这意味着只有 1 个 fetch() 承诺.每次我收到一个 json,这个包含另一个 json 的 url,所以我必须做出另一个 fetch() 承诺. 我可以处理多个 promise,但在这种情况下我不能做 Promise.all(),因为我没有所有的 url,只有一个. 这个例子不起作用,它全部冻结了. func
..