我有两种不同的方式来编写 World 函数。第一个是来自 Cucumber.js 网站的示例。这基本上是在扩展他们现有的 World 对象。注释掉的第二个示例是我采用第一个示例代码并摆脱了那个世界变量并且在回调中不传递任何内容。我的代码也有效。
问题:为什么他们会在回调中发送这样的变量?这样做有什么好处吗?因为在我的示例中,我已经通过在示例中设置属性来扩展现有的 World 对象。
我对回调还是很陌生...
"use strict";
var hooks = require('../support/before_hooks.js');
var zombie = require('zombie');
// their example
var World = function World(callback) {
var browser = new zombie();
var world = {
browser: browser,
visit: function(url, callback) {
this.browser.visit(url, callback);
}
};
callback(world);
};
// my example
//var World = function World(callback) {
// this.browser = new zombie();
// this.visit = function(url, callback) {
// this.browser.visit(url, callback);
// };
// callback();
//};
module.exports.World = World;