一連のクエリを適用するために、angular で promise チェーンを構築したいと思います。
for(variableIndex in _editableVariable.values) {
var v = _editableVariable.values[variableIndex];
if(v.value != v.old_value) {
console.log('v', v);
var newVariableRes = new VariableValueRes(v);
if(v.old_value == undefined) {
p.then(function() {
console.log('B', newVariableRes);
return newVariableRes.$save().$promise;
});
} else {
console.log('Try update: ', v);
p.then(function() {
console.log('C', newVariableRes);
return newVariableRes.$update().$promise;
});
}
}
}
私の問題は、さまざまな変数に対してconsole.log('v',v)
異なるものを表示するときです。value
私がプロミスにいて、最新の変数の内容を表示するとconsole.log('B', newVariableRes)
。newVariableRes
value
出力例:
v
Object {value: "1", old_value: undefined, platform: "/api/v1/platform/1", product_variable: "/api/v1/product_var/2"}
v
Object {value: "2", old_value: undefined, platform: "/api/v1/platform/2", product_variable: "/api/v1/product_var/2"}
v
Object {value: "3", old_value: "", id: 7, platform: "/api/v1/platform/3", product_variable: "/api/v1/product_var/2"}
B
Resource {value: "3", old_value: "", id: 7, platform: "/api/v1/platform/3", product_variable: "/api/v1/product_var/2"…}
B
Resource {value: "3", old_value: "", id: 7, platform: "/api/v1/platform/3", product_variable: "/api/v1/product_var/2"…}
C
Resource {value: "3", old_value: "", id: 7, platform: "/api/v1/platform/3", product_variable: "/api/v1/product_var/2"…}
私はjavascriptが初めてなのでv
、値の参照だと思っていました。したがってVariableValueRes
、この参照を取ります。のポインティング参照を変更してもv
、 の内容は変更されませんVariableValueRes
。
私の誤解はどこにありますか?