从服务器控制器访问 MEANjs 中的 API 端点
Access API endpoints in MEANjs from server controller
所以我有这个问题,我正在我的应用程序中开发"关注"功能。重要的是,我有两个模型:
Follows
和Notifications
当我在前端点击跟随按钮时,我运行从follow.client.controller.js
哪些 POST 到 API 端点的功能/api/follows
对应于follow.server.controller.js
,然后在Follows
模型上执行更新操作 - 很容易。AFAIK 这就是它的工作原理(它对我有用)。
但是在follows.server.controller.js
我还想在对应于notifications.server.controller.js
的 /api/notifications
处调用 post 到 API 端点,但我找不到合适的方法来做到这一点。任何帮助将不胜感激。
我不希望来自前端的另一个呼叫来添加通知,因为它应该是自动的 = 如果用户开始关注某人,信息将同时保存在两个模型中。
您可以在服务器路由中添加中间件。
app.route('/api/follows')
.post(notification.firstFunction, follows.secondFunction);
现在在您的控制器中添加 2 种方法。首先调用 db 并将一些结果的数据添加到请求对象中,该对象将被转发到第二个方法。
exports.firstFunction= function(req, res, next) {
Notification.doSometing({
}).exec(function(err, result) {
if (err) return next(err);
req.yourValueToPassForward = result
next(); // <-- important
});
};
exports.secondFunction= function(req, res) {
//...
};
或者,您可以在一个 api 方法中进行少量数据库调用,并用 promise 加入此调用。例:
var promise = Meetups.find({ tags: 'javascript' }).select('_id').exec();
promise.then(function (meetups) {
var ids = meetups.map(function (m) {
return m._id;
});
return People.find({ meetups: { $in: ids }).exec();
}).then(function (people) {
if (people.length < 10000) {
throw new Error('Too few people!!!');
} else {
throw new Error('Still need more people!!!');
}
}).then(null, function (err) {
assert.ok(err instanceof Error);
});
相关文章:
- 如何更改bigquery API中的计费层选项
- 使用node.js服务器中的evernote api获取note内容
- NodeJS API调用中Array中的Push和Pull元素
- IE11中的第二个调用取消了第一个Fetch API调用
- 如何从表中的api中删除表tr数据comping
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- 如何从节点中的api promise返回对象
- 使用基于令牌的身份验证保护Sails.js中的API路由
- 从服务器控制器访问 MEANjs 中的 API 端点
- 数据不会从反应/通量应用程序中的 API 更新
- 尝试从 JavaScript 中的 API 对象获取深度嵌入的对象
- 从 Chrome 扩展程序中的 API 中提取数据的任何方法
- 如何使用 Javascript 中的 API 密钥正确请求 Google Link Shortener API 的 XM
- 调用API中的API-jQuery/HHandlebars
- 保留客户端'浏览器中的API机密,并通过JS进行访问
- 什么'当从AngularJS中的API响应接收到错误时,触发错误弹出模式的最佳方式
- 使用Vue.js访问子组件中的api数据
- 从Instagram获取总点赞和评论'JavaScript中的API
- 如何在Node.js中发现Google OAuth2中的api
- 我如何从javascript中的API中提取数据