我的目标是在创建,更新或删除某些模型后发送一些请求。所以我实现了以下内容:
module.exports = function(TerminalUser) {
var http = require('http');
var tsReloadUser = function(id) {
var options = {
auth: 'user:pwd',
host: 'host.domain.local',
port: 8080,
path: '/CmdUserCacheRefresh?userid=' + id,
method: 'GET'
};
http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
}).end();
}
TerminalUser.afterSave = function(next) {
console.log('afterSave');
tsReloadUser(this.id);
next();
};
TerminalUser.afterUpdate = function(next) {
console.log('afterUpdate');
tsReloadUser(this.id);
next();
}
TerminalUser.afterDestroy = function(next) {
console.log('afterDestroy');
tsReloadUser(this.id);
next();
};
};
当创建实体并且所有内容都按预期运行时,将调用钩子afterSave。但是由于一些奇怪的原因,当用户更新或删除实体实例(数据已成功存储在数据库中)时,既没有调用afterUpdate / Destroy,也没有抛出错误消息。任何人都可以给我一些提示吗?
答案 0 :(得分:0)
请参阅我的新回购中的示例:https://github.com/strongloop/loopback-faq-model-hooks
afterDestroy
存在问题,等待解决的问题
答案 1 :(得分:0)
尝试使用changed
和deleted
Model's Events