切换函数调用的目标值

时间:2018-02-12 08:01:00

标签: javascript html

我在下面的函数中有一个基于两个目标的xmlhttprequest,它来自某些html元素的文本。

我需要做的就是切换目标值,但每次都不在if语句中调用它们。试图遵循DRY方法。

见下文 -

   if(whichSym === "1"){
      document.getElementById('priceSym' + whichSym).innerHTML = target;
      target2 = document.getElementById('priceSym2').innerHTML;
      dataControl.getItem(function(err, data) {
        uiControl.changeInput("1", data);
      }, target, target2);
    }
    else if(whichSym === "2"){
      document.getElementById('priceSym' + whichSym).innerHTML = target;
      target2 = document.getElementById('priceSym1').innerHTML;
      dataControl.getItem(function(err, data) {
        uiControl.changeInput("1", data);
      }, target2, target);
    }

如果您需要更多背景信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

要遵循DRY原则,您只需将其包装在一个函数中即可。这样的事情应该有效:

function (whichSym) {
    const otherSym = whichSym === 1 ? 2 : 1; // assuming values can be only 1 and 2
    const target = document.getElementById('priceSym' + whichSym).innerHTML;
    const target2 = document.getElementById('priceSym' + otherSym).innerHTML;
    dataControl.getItem((err, data) => {
        uiControl.changeInput("1", data); // not sure what "1" here means, replace with whichSym if needed
    }, target, target2);
}