如果其他方法不起作用,我会收到一个错误消息,应该在出现错误之前和之后添加一个::
?service.upsert = function (employerId, iban, canOrderCards) {
let path = 'mask/employer/' + employerId + '/mask/account';
let data = {
if(iban == null ){
isIbanSet: "no"
}
else{
isIbanSet: "yes"
},
iban: iban, // string: if undefined the value will not be updated
canOrderCards: canOrderCards // boolean: if undefined the value will not be updated
};
return AuthorizedNetworkService.performRequest(path, 'POST', data);
};
我希望if结构能够正常工作
答案 0 :(得分:2)
您不能在对象声明中使用if / else语句。 您始终将isIbanSet的值设置为null,我假设您打算将其设置为true或false。
执行此操作的一种方法是使用三元表达式(请参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator),如下所示:
let data = {
isIbanSet: iban ? true : false,
iban: iban,
canOrderCards: canOrderCards
};
否则,您可以先定义对象:
let data = {
iban: iban, // string: if undefined the value will not be updated
canOrderCards: canOrderCards // boolean: if undefined the value will not be updated
};
,然后添加最后一个属性:
if(iban){
data['isIbanSet'] = true;
} else {
data['isIbanSet'] = false;
}