Jquery间歇性地无法隐藏行

时间:2017-06-27 03:39:06

标签: javascript jquery html ajax

我目前正在设施预订系统。在预订设施的过程中,用户可以选择一个时段。当用户选择要预订的日期和设施时,进行ajax调用以检索所有可用时隙。返回的数据包括工作日和周末的时间段(是的,它们有不同的时间段)。

工作日和周末以及时间段放在一张桌子上。还有另一个功能可以检查所选日期是工作日还是周末。如果是前者,则会隐藏周末时段。如果是后者,反之亦然。

工作日的开放时间:08:00-21:00

周末的开放时间:08:30-17:30

要隐藏所述时段,请使用以下代码:

let wrapperCntr = 0;

async function wrapper () {
  let cnt = wrapperCntr++;
  console.time('wrapper' + cnt);
  const response = await doWork();
  console.timeEnd('wrapper' + cnt);
  return response;
}

如果代码完美无缺,时间段将如下所示:

选择日期:2017年6月27日,星期二(工作日)

Correct Time Slots

选择日期:2017年7月1日,星期六(周末)

Correct Time Slots Weekend

然而,有时,代码不起作用。有时,显示的时间段将同时显示工作日和周末:

选择日期:2017年6月27日,星期二(工作日)

Wrong Time Slots Shown

还必须注意,在显示时隙之前调用充满ajax请求的7-8个函数。隐藏"周末"的功能或者"工作日"行是第五个功能。

问题是,在向用户显示时间段之前,我能做些什么来确保隐藏行?

我很抱歉我无法显示更多代码,因为公司对这些东西非常敏感。

非常感谢任何帮助或建议。

2 个答案:

答案 0 :(得分:1)

要隐藏的代码在填充时间表的代码之前运行,在将数据插入时间表并显示后将循环添加到回调。

答案 1 :(得分:0)

这可能不是问题的绝对答案,我宁愿建议做相反的事情。从问题描述我假设有一个ajax调用返回数据&函数触发后,隐藏不相关的行。由于DOM遍历

,会有一分钟的延迟

可选地

  1. 最初隐藏视图(周末和时间段)。
  2. 检查条件并仅显示相关数据。
  3. 直到那个时候屏幕上可能有一个微调器显示工作正在进行中