我的CreateAssociation方法存在问题。
这是我的代码:
用户创建曲线
//User create curves
function saveCurves(user, functions){
var curves = JSON.parse(functions);
for (var i = 0; i < curves.length; i++) {
(function(i,user,curves){
user.createCurve({
i_min: curves[i].i_min,
i_max: curves[i].i_max,
}).then(function(curve){
saveFunction(curve,curves[i].fn,curves[i].variables);
});
})(i,user,curves);
}
}
//save function after creating curves depends on it
function saveFunction(curve,fct,variables){
return curve.createFunction({
fn: fct
}).then(function(math_function){
saveVariables(math_function,variables);
return;
})
}
//save variables to associated function
function saveVariables(fn, variables){
for(var j= 0; j < variables.length; j++){
(function(j,fn,variables){
fn.createVariable({
name: variables[j].name,
function_id: fn.id
})
.then(function(row_variable){
console.log(row_variable.toJSON())
return row_variable.createFunction({
fn: variables[j].fn
})
})(j,fn,variables);
}
当我调用“fn.createVariable”方法时,我遇到了问题。 我真的不明白为什么,但是.then之后的承诺只是给了我fn实例而不是变量实例。
我也有这个错误: 未处理拒绝TypeError:row_variable.createFunction不是函数
当我查看我的数据库时,我看到实例已正确插入 但是console.log中的row_variable给了我fn而没有插入行。
所以我无法理解我有这个回报。 我上面做得很好,为什么它在这里不起作用?
(不是关系定义问题,因为行存在于数据库中)
请问好吗?