Loopback:如何将模型的afterRemote添加到另一个模型
Loopback: How to add afterRemote of a model to another model
我有这样的通知模型
"use strict";
module.exports = function(Notification) {
};
我还有另一个型号 Post:
"use strict";
module.exports = function(Post) {
Post.prototype.postLike = function(options, cb) {
this.likes.add(options.accessToken.userId);
cb(null, "sucess");
};
Post.remoteMethod("postLike", {
isStatic: false,
accepts: [{ arg: "options", type: "object", http: "optionsFromRequest" }],
returns: { arg: "name", type: "string" },
http: { path: "/like", verb: "post" }
});
}
我想要的是在通知模型中添加 Post 的 afterRemote 方法?
是否可以环回?
它应该看起来像:
"use strict";
module.exports = function(Notification) {
var app = require("../../server/server.js");
var post = app.models.Post;
post.afterRemote('prototype.postLike', function(context, like, next) {
console.log('Notification after save for Like comment');
});
};
但这不起作用。
注意:我可以做到 Post 模型本身,但我想在通知模型中添加我所有的通知逻辑以简化和未来定制。
环回引导过程首先加载模型,然后在加载所有模型后调用引导脚本。如果您的目标是跨模型整合事物,那么最好在引导脚本中执行此操作,而不是在 model.js 文件中执行此操作。
可以用活动来做。
Loopback 应用程序在加载所有引导脚本后启动时发出 started
事件 here
并且在 Notification
模型中这样做:
"use strict";
module.exports = function(Notification) {
var app = require("../../server/server.js");
app.on('started', function(){
var post = app.models.Post;
post.afterRemote('prototype.postLike', function(context, like, next) {
console.log('Notification after save for Like comment');
});
});
};
或者创建启动脚本并发出自定义事件,如 'allModelsLoaded'。所以确保启动脚本是最后一个运行。默认情况下按字母顺序启动脚本 运行。因此,制作 z.js
并在那里发出该自定义事件,然后在 Notification
模型中收听该事件。
我有这样的通知模型
"use strict";
module.exports = function(Notification) {
};
我还有另一个型号 Post:
"use strict";
module.exports = function(Post) {
Post.prototype.postLike = function(options, cb) {
this.likes.add(options.accessToken.userId);
cb(null, "sucess");
};
Post.remoteMethod("postLike", {
isStatic: false,
accepts: [{ arg: "options", type: "object", http: "optionsFromRequest" }],
returns: { arg: "name", type: "string" },
http: { path: "/like", verb: "post" }
});
}
我想要的是在通知模型中添加 Post 的 afterRemote 方法?
是否可以环回?
它应该看起来像:
"use strict";
module.exports = function(Notification) {
var app = require("../../server/server.js");
var post = app.models.Post;
post.afterRemote('prototype.postLike', function(context, like, next) {
console.log('Notification after save for Like comment');
});
};
但这不起作用。
注意:我可以做到 Post 模型本身,但我想在通知模型中添加我所有的通知逻辑以简化和未来定制。
环回引导过程首先加载模型,然后在加载所有模型后调用引导脚本。如果您的目标是跨模型整合事物,那么最好在引导脚本中执行此操作,而不是在 model.js 文件中执行此操作。
可以用活动来做。
Loopback 应用程序在加载所有引导脚本后启动时发出 started
事件 here
并且在 Notification
模型中这样做:
"use strict";
module.exports = function(Notification) {
var app = require("../../server/server.js");
app.on('started', function(){
var post = app.models.Post;
post.afterRemote('prototype.postLike', function(context, like, next) {
console.log('Notification after save for Like comment');
});
});
};
或者创建启动脚本并发出自定义事件,如 'allModelsLoaded'。所以确保启动脚本是最后一个运行。默认情况下按字母顺序启动脚本 运行。因此,制作 z.js
并在那里发出该自定义事件,然后在 Notification
模型中收听该事件。