假设我有一台Koa Web服务器,其端点如下所示:
const perform = require(...); // some generator function
exports.endpoint = function* () {
var results = yield getResults();
// Respond the results
this.body = results;
}
exports.getResults = function* () {
var actions = [...];
var results = [];
for (var action of actions) {
var result = yield perform(action);
results.push(results);
}
return results;
}
现在,在所有动作都明显执行之后,客户端将获得响应。但事情是每个动作都取决于前一个动作的完成。
有没有办法并行执行它们?
注意:除非我能以某种方式返回结果而不是resolve(),否则将它们变为Promises是不可行的。
co
将生成器功能转换为Promises,并异步执行它们。Promise.all
等待他们全部完成:
exports.getResults = function* () {
var actions = [...];
return yield Promise.all(actions.map(function(action) {
return co(function*() {
return yield perform(action);
}
}));
}
问题内容: 我先研究了一下,却找不到答案。我试图在Python中并行运行多个函数。 我有这样的事情: 我想调用func1和func2并使它们同时运行。这些功能彼此之间或在同一对象上不相互作用。现在,我必须等待func1完成才能启动func2。我该如何执行以下操作: 我希望能够几乎同时创建两个目录,因为我每分钟都在统计要创建多少个文件。如果该目录不存在,将会拖延我的时间。 问题答案: 你可以使用th
块状应用程序通常生成JavaScript作为其输出语言,通常在网页(可能是同一网页或嵌入式WebView)中运行。 像任何生成器一样,第一步是导入javascript生成器。 对于Web Blockly,请在blockly_compressed.js之后添加javascript_compressed.js: <script src="blockly_compressed.js"></script>
问题内容: 我正在一个有几个无法更改的脚本的项目中。这些脚本通过AJAX更新页面。更新完成后,我需要运行一些代码。 XMLHttpRequest完成时是否会触发任何事件?(或任何XMLHttpRequest状态更改?)。 不幸的是,我无法访问用于发出请求的特定XMLHttpRequest对象。 谢谢, 问题答案: 如果没有jQuery,则可以挂钩该方法以在XHR对象被编辑时为每个XHR对象的事件附
如何通过< code>ItextSharp合并多个pdf文件(运行时生成),然后打印它们。 我找到了下面的链接,但考虑到存储的pdf文件不是我的情况,该方法需要pdf名称。 我有多个报告,我将通过以下方法将它们转换为< code>pdf文件: 现在我想将所有生成的文件()合并到一个pdf文件中以打印它
现在我们有一个项目,包含两个工作。1) 是带有单元测试的标准构建。2) 是集成测试。它们是这样工作的: 构建整个项目,运行单元测试,启动集成测试工作 问题是步骤2)现在需要一个多小时才能运行,我想将集成测试并行化,以便它们花费更少的时间。但我不确定我该怎么做。我的第一个想法是,我可以有两个这样的步骤: 构建整个项目,运行单元测试,启动集成测试工作 构建整个项目,将其部署到integration s