gpt4 book ai didi

node.js - strongloop 在 afterRemote 方法中创建相关模型对象

转载 作者:搜寻专家 更新时间:2023-11-01 00:43:03 25 4
gpt4 key购买 nike

假设我有一个游戏场景。

一个游戏属于一个用户。

游戏.json:

{
"name": "game",
"base": "PersistedModel",
"idInjection": true,
"properties": {
"beer_points_required": {
"type": "number",
"required": true
},
"total_points": {
"type": "number",
"required": true
}
},
"validations": [],
"relations": {
"game_blngs_to_user": {
"type": "belongsTo",
"model": "user",
"foreignKey": ""
}
},
"acls": [],
"methods": []
}

用户.json:

{
"name": "user",
"base": "User",
"idInjection": true,
"properties": {
"last_game": {
"type": "date",
"required": false
},
"name": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {},
"acls": [
{
"accessType": "READ",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "ALLOW"
}
],
"methods": []
}

我试图在通过 CRUD 创建用户后以编程方式为用户创建游戏对象,因此在 user.js 中我有:

var config = require('../../server/config.json');
var path = require('path');
var app = require('../app');

module.exports = function(user) {

user.afterRemote('create', function(context, user) {
console.log('> user.afterRemote triggered');

//create a game for each user thats created
var Game = app.models.game;
game.create({game_blngs_to_userId: user.id, beer_points_required: 0, total_points: 0},function(err, res){
if(err){
console.log('\n\n>>err');
console.log(err);
next(err);
return;
}
console.log(res);
});
});

但是,这显然行不通,哈哈,所以我想知道如何真正实现我的目标。很长一段时间以来,我一直盯着强循环文档看,似乎他们的 api 的实际使用情况并没有很好的记录……至少在我看来是这样。谁能帮我解释一下这个?

最佳答案

也许,您在 afterRemote 回调中缺少第三个参数 - next 函数。

user.afterRemote('create', function(context, user, next) {
...
var Game = app.models.game;
game.create({game_blngs_to_userId: user.id, beer_points_required: 0, total_points: 0},function(err, res){
if(err){
console.log(err);
next(err);
return;
}
next() // countinue execution
});
});

关于node.js - strongloop 在 afterRemote 方法中创建相关模型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28040339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com