sheng-tool
    Preparing search index...

    Function getAsyncValue

    • 异步地获取一些值。

      在有些场景时,一些值无法通过同步的方法拿到,甚至异步的方法也不行,只能通过轮询。

      具体也就是说,每隔一段时间(默认 50ms)看一下值有没有获取到,获取到返回包裹该值的 Promise,并就关掉定时器。

      Type Parameters

      • T = any

      Parameters

      • fn: () => T

        获取值的方法

      • ms: number = 50

        间隔时间,默认 50ms

      • excludeValues: readonly unknown[] = ...

        排除值列表,默认为 [null, undefined],只有返回值不在该列表中才认为获取到,使用 includes 方法判断

      Returns Promise<T>

      0.0.14

      // 在 MVVM 框架中,DOM 会等到数据加载完成之后才渲染,但我们需要在源码之外的地方获取 DOM
      (async () => {
      const dom = await getAsyncValue(() => document.getElementById('app'));
      const attr = dom.getAttribute('something');
      // 处理 attr
      }