问题标签 [co]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何在循环中针对 es6 生成器执行异步任务
我了解如何使用生成器使异步代码看起来不错。我有一个简单的生成器*all
,它需要一个page
,将返回一个值。
然后我有另一个生成器*allDo
,它将*all
用于第 1 到 30 页,并为每个结果做一些 async task
。
然后我有另一个生成器*allBatchDo
,它将批处理 3 页,并执行一些异步操作task
。
这些生成器的示例用法是:
问题是,这是对 es6 异步功能的合法使用,还是对我的用例有一个抽象的内置解决方案?
node.js - 如何在 koa 中使用 thunk 获取 readStream ?
我想在 koa 控制器中传递一个请求,它的工作:
但是使用 thunk ,它似乎不起作用。
这是thunk
:
node.js - 如何使用和谐标志启动全局 npm 模块
我写了一个可以全局安装的 npm 模块dm-npm。
我喜欢在那个模块中使用 co 。
我如何告诉模块它在全局启动时以和谐标志运行?
这是package.json:
使用 co 函数运行时出现以下错误消息:
它是由
node.js - NodeJs,如何将数据从co返回到外部对象
需要帮忙!我怎样才能获得表格 co 之外的数据?我不想在 .then() 中处理它们。
我有一些这样的代码(ES6):
现在我不想处理 .then() 中的数据,我只想取出值。但如果我这样做:
我得到的是一个承诺对象......
那么,我应该如何获取 json 数据呢?谢谢。
arrays - 如何将 Bluebird Promisification 与生成器 + 并行 Promise 一起使用
尝试使用 bluebird 和 koa 向 beats api 发出多个请求作为生成器。
在阅读了一些文档后,我认为以下内容会起作用
方法 makeAPI 调用按预期与 firstCall 一起使用,但由于某种原因,当我开始将 makeAPICall 方法放入数组时,它们似乎永远不会执行。变量响应只产生一组函数,而不是来自 beats api 的一组响应。我需要更改什么才能使响应返回类似于 firstCall 的对象数组?
javascript - 如何在 javascript 中使用生成器模拟同步调用?
假设下一段代码:
如您所见,我使用单个方法getFieldValue定义myObj。第一次调用此方法时,它会从数据库中加载值。该值被缓存,并在后续调用中直接返回该值。该解决方案效果很好,但是对象的用户必须在生成器上下文中运行,并在每次访问对象方法之前编写一个 yield。
我可以假设所有调用都将在生成器上下文中完成。但是有没有办法重写myObj 实现,以便用户不需要包含 yield 关键字?
我希望用户可以写一些这样的东西(没有产量):
javascript - 如何在 Co-Request 模块和 NodeJs 中对文件进行管道响应?
我正在使用Co-Request 从 http url 读取 Zip 文件,并且我有以下代码可以从服务器读取..
该代码已经有效。但我不知道如何将响应 Zip 写入文件。
Co-Request 实际上是 Request 的包装器,我在下面找到了将文件传输到流的代码。但不确定如何使用 Co-Request with yield 来编写相同的内容。
请帮助如何使用 yield 和 co-request 将响应 zip 写入文件
node.js - 请求后使用 supertest 和 co 验证数据库内容
我想编写一个测试来更新博客文章(或其他): * 在数据库中插入博客文章 * 获取博客文章在 MongoDb 中获得的 ID * 将更新版本发布到我的端点 * 请求完成后:检查在已完成更新的数据库中
这是这个,使用koa:
我意识到那里有很多活动部件,但我已经分别测试了所有交互。这是我包含的 db 文件(我知道它工作正常,因为我在生产中使用它):
生产代码按预期工作。这个测试通过了,但在我看来,就像 .end() 子句中的协同函数永远不会运行......但是 done() 调用被调用了。至少没有打印“CHECKED DB”。
我试过用“done()”和“done”没有。有时这有效,有时无效。我试图将数据库检查移到请求之外......但这只是挂起,因为 supertest 希望我们在完成时调用 done()。
所有这一切让我感到困惑和害怕(:)) - 我在这里做错了什么。
node.js - KoaJs 一次只能流式传输一个连接
我正在尝试用 koajs 做一些大管道。
在 myPage 里面
然后渲染将做渲染的东西(异步);
但是,在我尝试在浏览器上打开多个标签之前,它运行顺利。
在完成之前它不会渲染其他页面(我有一个 setTimeout 来模拟渲染中的异步内容)。
无论如何要同时流式传输多个连接吗?就像普通请求(不是 bigpipe)一样?
node.js - 有没有办法创建一个实例
因为co@4.0+
我们可以使用下面的语句
var fn = co.wrap(fn*)
将生成器转换为返回 Promise 的常规函数。
然后我面临一个问题
a.js
b.js
如何在by中创建实例co
。
@Bergi 说这是一种不好的做法
然后我想问一个问题
这是不好的做法吗?