我对回调感到很困惑。我想使用一个名为node-jet的库,并在回调中找到回调函数的每个页面。
https://github.com/lipp/node-jet/blob/master/doc/peer.markdown
但这里的情况似乎有点不同,无法理解是什么。似乎回调是一个对象/变量而不是一个函数。
state.on('set', cb)
注册set事件处理程序。应该在实际添加状态之前调用(peer.add(state)
)。 cb回调获取传入的新请求值。
该功能可免费使用:
- 自动发布状态更改
什么都不返回,使用newValue
抛出一个错误,错误应该是一个字符串或带有代码和消息的对象
使用支持的字段返回Object:
value:{Any,Optional}“实际/已调整”的新值。这是作为新值发布的 dontNotify:{Boolean,Optional}不自动发送更改通知
john.on('set', function(newValue) {
var prev = this.value();
if (newValue.age < prev.age){
throw 'invalid age';
}
return {
value: {
age: newValue.age,
name: newValue.name || prev.name
}
};
});
在使用相同库的示例中
// create a new todo state and store ref.
var todoState = new jet.State('todo/#' + todo.id, todo)
todoState.on('set', function (requestedTodo) {
todo.merge(requestedTodo)
return {
value: todo
}
})
todoStates[todo.id] = todoState
peer.add(todoState)