问题标签 [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 - 使用 co 优于 async/await 函数和使用 babel 编译的优点
Co 自称是“迈向 ES7 async/await 的垫脚石”,但我不确定为什么我应该使用它而不是仅仅编写异步函数和使用 babel 编译。这些方法有什么优点和缺点,还是只是偏好问题?
javascript - 为什么 node.js 生成器没有按预期工作?
给定以下两个代码片段,为什么事务对象在工作案例中可见但在其他情况下不可见?
工作案例:
不工作的情况:
在第二种情况下是否可以使交易可见?
javascript - 丢失从共同包装函数传递给另一个函数的参数
我正在使用最新的协同模块(4.6)。
这是一个 Koa 中间件。因此它已经被co()
包裹了。
它正在调用我手动包装的另一个生成器函数co
:
为什么我“松开”参数?
javascript - 来自 fs-promise 和 co 的 mkdirp 问题
我有一个生成器函数,它创建一个目录并在完成后对其执行操作:
这是我执行代码时得到的输出:
更新:
我发现了这个问题,它与示例中的代码无关,而是在我编写此 gem 的地方有一行:
javascript - 具有异步例程的新对象
我想实例化一个对象,构造函数在返回之前执行异步调用。目的是进行异步柯里化。我正在使用co。以下示例失败。我究竟做错了什么?
javascript - mongoose 和 es6 的承诺没有按预期工作
我有以下代码,它创建了一个承诺数组来保存一些数字,然后它产生承诺(使用 co 库)并打印出结果。然而,我不明白的是,当它打印输出时,它会打印相同的记录 10 次。
这是代码:
这是输出:
请注意,如果我x
在 Promise 中声明变量,那么我会得到预期的结果(例如,输出中有 10 个不同的数字)。换句话说,如果我进行此更改(见下文),它将按预期工作:
我的问题是,为什么代码会这样?请注意,如果我重复完全相同类型的测试而不使用 mongodb/mongoose 并且只打印一些数字,即使x
在 Promise 之外声明它也会按预期工作。下面的示例代码:
输出:
javascript - 并行执行包含 co 包装的生成器的 Promise
我正在为我的数据库创建种子数据。种子函数是共同包装的生成器(https://www.npmjs.com/package/co):
在某一时刻,我试图创建 40 个拍卖,每个拍卖都有一个出价。到目前为止,我有一个这样的 for 循环:
现在我想并行创建拍卖,但我不能让它工作。
co
当 yield 与数组一起使用时支持并行执行。
但是,我仍然需要先创建一张发票,然后使用收益率为其出价。
我尝试将上述内容包装在一个 Promise 和一个内部共同包装的生成器函数中,但它永远不会完成执行。
我怎么解决这个问题?(如果可能,不使用更多包)
这是我对内部生成器的尝试:
ansible - 如何通过 Ansible 将 Json 输出值存储在变量中
在 Ansible 中,我正在使用 REST API...我想要clientid
下面代码中的值并希望在另一个任务中使用它。我正在使用 ansible uri 模块。
我想将“16”存储在一个变量中并且需要传递另一个 url
javascript - 将 co 与 node-mysql2 一起使用
我正在使用带有 node-mysql2 的 co 库。
这用作
抛出以下错误:
池是这样定义的:
但是,如果我将上面的第 5 行从
即,如果我删除“yield”关键字,一切正常。
根据作者:
他确实建议使用yield conn.end()
,我担心如果我不在那里“屈服”,我可能会搞砸一些事情。
任何线索我在这里缺少什么?
javascript - 如何从Javascript中的包装生成器函数返回thenable?
我的项目中有这样的代码:
正如预期的那样,这不起作用,因为浏览器对象有 method then
。我想知道是否有任何方法可以thenable
从包装的生成器函数返回对象。(或者可能是其他一些库,而不是co
用于包装支持这种情况的生成器)。