gpt4 book ai didi

node.js - Vows.js - this.callback 返回主题与誓言的参数数量

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:11 25 4
gpt4 key购买 nike

来自誓言网站:“当调用 this.callback 时,它将收到的参数一一传递给测试函数,就好像这些值是由主题函数本身返回的一样。”换句话说,如果我们使用请求库来处理我们的 http 请求,我们的主题和誓言可能如下所示:

'When I make a valid request':
topic: ->
request
uri: someURL
method: "GET"
, @callback
return undefined # necessary because I'm using coffeescript

"It should respond with a 200":
(err, resp, body) ->
assert.equal resp.statusCode, "200"

但是串在一起的主题似乎遵循不同的规则。他们似乎只传递一种论点。以下是 Vows 网站的示例:

topic: function () {
fs.stat('~/FILE', this.callback);
},
'after a successful `fs.stat`': {
topic: function (stat) {
fs.open('~/FILE', "r", stat.mode, this.callback);}, etc

因此,第二个主题没有得到像 (err, stat) 这样的参数,它只是得到 (stat)。

有人知道为什么会这样吗?

最佳答案

根据我的经验,Vows 在调用子主题时会省略 err 参数。

这可能解决了要求嵌套主题采用每个额外父级的每个 err 参数的问题。您不希望出现这种情况:

topic: (err, topic1, err, topic2, err, topic3)

相反,只需使用无错误的参数即可。

topic: (topic1, topic2, topic3)

这有点令人困惑,因为 Vows 自动拦截非空 err 参数并导致测试失败。所以你永远无法使用 err 参数。

关于node.js - Vows.js - this.callback 返回主题与誓言的参数数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7293099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com