后请求中数据对象中的if else子句

时间:2019-06-27 12:19:10

标签: jquery angular post

如果其他方法不起作用,我会收到一个错误消息,应该在出现错误之前和之后添加一个::

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结构能够正常工作

1 个答案:

答案 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;
}