【发布时间】:2014-06-02 09:11:37
【问题描述】:
我正在使用如下所示的函数。我正在使用 async 系列来测试异步功能。该系列中的第一个回调工作得非常好,并且在名为 callThisGuy(client, callback) 的第二个方法中全部中断
testFunction: () ->
client = @
ASync.series([
(callback) ->
client.createSingleClient(callback)
(callback) ->
client.callThisMethod(client, callback)
(callback) ->
trace "In the next step"
],
(err, results) ->
trace "Test"
)
这里是callThisMethod函数
callThisMethod:(client, callback) ->
if(client.status == "new")
callback(null," ")
else
setTimeout ( ->
client.callThisMethod(client, callback)
), 1000
即使状态不是“新”,也永远不会调用 setTimeout 函数。它而是跳到下一步。我在没有 Mocha 的情况下运行了相同的代码,然后超时工作正常。
在 mocha 内部,它不起作用。我还检查了 setTimeout 是否未定义。它被定义了。我想知道我是否遗漏了什么。
【问题讨论】:
-
摩卡咖啡究竟是如何融入其中的?你能提供一个SSCCE 的问题吗?你有informed it that the test is asynchronous吗?
标签: node.js asynchronous coffeescript mocha.js