当前位置: 首页 > 网络应用技术

SAP E -Cloud Cloud Spartacus UI ActiveCartservice的空操作员在ISSTABLE API中

时间:2023-03-05 17:28:13 网络应用技术

  稳定的API源代码如下:

  空操作员:直接发送。

  看一个简单的例子:

  我们将永远不会在控制台中看到或打印,因为空不会发出任何数据,只有完整的事件。

  此处引入了Deboundce,以避免使用闪烁的旋转器。当数据加载非常快时,如果用户看到几秒钟的Spinner动画,那是一个不良的用户体验。

  避免此用户交互问题的方法之一是引入它。

  该装载机需要满足需求:

  例如,我们的数据加载需要1.2秒。在第一秒钟,我们没有显示任何内容,然后在1秒钟后出现一个装载器。在0.2秒后,我们收到了数据,但是我们将旋转器保留在屏幕上0.8秒。。这个旋转器不会闪烁。

  实际代码:

  在这里,我们有两个触发主题以开始和取消加载。在应加载时,我们的非Flickerloader发射null,在时间点我们应该显示其实际加载数据。我们使用操作员,因此我们可以多次触发它。

  让我们继续编写nonflickerloader函数。首先,我们定义接口。我们使用Universal,因为我们不知道会得到的响应类型:

  该功能接受可观察到的数据和两个可选参数,以指示我们等待多长时间,然后显示启动器的加载指示器和最小持续时间。

  对于该功能的特定实现代码,首先创建一个可观察到的加载:

  此$加载是一个徽标,告诉我们是否应该显示旋转器。

  地图设置除第一个发射器以外的所有发射器。要在完成流之前通过。我们还开始启动(false),因为我们只想在给定延迟后显示加载指示。

  注意计时器的第二个参数:

  以下代码的含义是在1秒钟后传输整数1,然后每2秒发射一次增量整数序列。

  原始:https://juejin.cn/post/7095546201547276295