来自誓言网站:“当 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)。
有人知道为什么会这样吗?