API 处理有条件?

我正在尝试基于2个条件运行API调用,我不确定最好的方法。


我尝试用和语句执行以下操作:if..else


let data;


if (condition == true) {

  if (condition == true) {

    LocalCall1() // mutate data variable

  } else {

   ApiCall1() // mutate data variable

    }

  } else {

   ApiCall1() // mutate data variable

 }

但是,是40行长,所以我不能只是将其复制并粘贴到其他两个块中。此外,此语句位于函数中,因此我被告知不能在此函数中创建另一个函数,因为它会使测试变得困难。ApiCall1()if...else


最好的方法是什么?


慕田峪9158850
浏览 84回答 4
4回答

BIG阳

请尝试以下操作:(firstCondition && secondCondition)? LocalCall1(); : ApiCall1();

大话西游666

你不能像这样合并2 if/else语句吗?if (condition1 === true && condition2 === true) {    LocalCall1()} else {    ApiCall1()}编辑:if (localStorage.getItem('constants') && JSON.parse(localStorage.getItem('constants')).version === serverVersion) {    const data = JSON.parse(localStorage.getItem('constants')).data; } else {    const { response } = await apollo.query({ query });    if (!response) return {};    localStorage.setItem('constants', JSON.stringify({ version: serverVersion, data: response }));  }

凤凰求蛊

二元的。。。if(condition1 && condition2) res = 3;if(!condition1 && condition2) res = 2;if(condition1 && !condition2) res = 1;if(!condition1 && !condition2) res = 0;...然后,无论您想根据res做什么。

守着星空守着你

我知道这对你来说为时已晚,但它将来可能会帮助别人。创建一个布尔标志,并在每次需要执行 ApiCall1() 时将其设置为 True。在外部 if 条件之外,如果此标志为 true,则调用 ApiCall1()。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript