Loopbackjs 环回:如何将模型的afterRemote添加到另一个模型
我有这样的通知模型Loopbackjs 环回:如何将模型的afterRemote添加到另一个模型,loopbackjs,strongloop,loopback,Loopbackjs,Strongloop,Loopback,我有这样的通知模型 "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);
"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');
});
};
但这是行不通的
注意:我可以在发布模型后执行此操作,但我想在通知模型中添加所有通知逻辑,以便简化和将来定制。环回引导过程首先加载模型,然后在加载所有模型后调用引导脚本。如果您的目标是跨模型进行整合,那么最好在启动脚本中进行整合,而不是在model.js文件中进行整合。环回启动过程首先加载模型,然后在加载所有模型后调用启动脚本。如果您的目标是跨模型进行整合,那么最好在启动脚本中进行整合,而不是在model.js文件中进行整合。您可以使用事件进行整合 环回应用程序在加载所有引导脚本后启动时会发出
start
事件
在通知
模型中,执行以下操作:
"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
并在那里发出该自定义事件,然后在通知
模型中侦听该事件。您可以使用事件来执行此操作
环回应用程序在加载所有引导脚本后启动时会发出start
事件
在通知
模型中,执行以下操作:
"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
并在那里发出自定义事件,然后在通知
模型中侦听该事件。我将对此进行检查。有没有办法不用启动脚本就在模型内部完成?或者我应该在我所有的模型加载后检查它。我会检查的。有没有办法不用启动脚本就在模型内部完成?或者我应该在所有模型加载后检查它。