我在阅读一本书时找到了下面的例子:
function User() {
EventEmitter.call(this);
this.addUser = function (username, password) {
// add the user
// then emit an event
this.emit("userAdded", username, password);
};
}
var user = new User();
var username = "colin";
var password = "password";
user.on("userAdded", function(username, password) {
console.log("Added user " + username);
});
user.addUser(username, password);
我认为在这里使用EventEmitter完全是多余的。使用Promises会更好:
function User() {
this.addUser = function (username, password) {
return new Promise(function (resolve) {
// add the user
// and resolve
resolve();
});
};
}
使用方式:
user.addUser(username, password).then(function(username, password) {
console.log("Added user " + username);
});
< p >使用EventEmitter
是否比使用Promises
更有优势,还是只是在Promises不可用时使用的代码?或者这种风格在node.js
中不受欢迎?
Promise
不适用于此情况。一个 Promise 只能解析一次。 - ste2425