我有一个包含100个promise的promise数组。我想等待,直到一个promise以真实的价值实现。另外,我想确保只有x个promise同时运行(设置限制)。
我已经研究了像bluebird.any
和bluebird.some
这样的方法,但是它们没有并发选项。
我该怎么做呢?
蓝鸟promise。map应该可以解决您的问题,同时提供并发选项。
promise.map(promiseArray, {concurrency: 4})
这里的并发基本上限制了运行状态的promise数量。如果将并发设置为1,则它们将串行执行。
我正在使用节点8.x。因此,我可以访问所有最新的特性,如异步/等待等。 该场景类似于以下内容(语法不正确,仅供解释): 基本上,User对象的创建依赖于address对象的创建。我希望createUser函数异步执行,即尽快返回一个promise而不等待address对象的创建。 这个问题的目的不是完成任务,而是了解在异步编程中解决这类问题的最佳方法是什么。 我能想到的方法不多:1:创建一个新的p
我正在努力学习如何正确使用async Wait,但我对它有点共同的想法。 在片段中,我试图构建一个对象数组,其中包含我需要的关于我在组件中上传的文件的信息。问题是this.fileInfo中的对象并没有完全等待返回编码图像的promise,而是在我console.logthis.fileInfo时返回此输出: 如您所见,关键图像是一个值未定义的ZoneAwarePromise。你能帮我修一下吗?
问题内容: 我想使用这样的Promise来调用Google Maps Geocoding API: 当我调用函数请求时,我发现我得到了一个Promise而不是一个值: 为什么不答应。然后在返回值之前执行?我如何从这个承诺而不是另一个承诺中获得价值? 问题答案: 如果您依赖承诺来返回数据,则必须从函数中返回承诺。 一旦调用堆栈中的1个函数异步,那么要继续线性执行,所有要调用它的函数也必须异步。(异步
问题内容: 我正在尝试编写一个函数(使用WebdriverJS lib),该函数遍历元素列表,检查名称并构建与该名称相对应的xpath定位器。我在这里简化了xpath定位器,所以不用注意。 我在这里面临的问题是:1)调用此函数返回未定义。据我了解,这是因为return语句不在其位置,而是:2)将其放置在同步代码通常可以正常工作的正确位置,不适用于异步承诺,因此调用此函数将返回相同的未定义,但是因为
我试图访问的结果(这里是'机构')的抓取,但继续得到这个: promise{ 它说已解决,但不只是给我我想要的数组。 这是我的密码 以上结果来自console.log(Categories)
tl;dr-我如何延迟中的函数的执行,因为我仍然在等待代码中的承诺的结果?它会导致正确的模块呈现,但地址不正确/href。 示例:如果您在base-module,然后单击admin,admin模块将加载,但仍然是而不是,并且可以在控制台中看到此错误: 错误[app-router]错误:预期路由器管道返回导航结果,但得到的是[{}] 较长版本: 我的路由器中有一个预置步骤,在呈现视图之前检查用户是否