_initWindowReadyDeferreds()

in workbox-v4.3.1/workbox-broadcast-update.dev.js [362:382]


    _initWindowReadyDeferreds() {
      // A mapping between navigation events and their deferreds.
      this._navigationEventsDeferreds = new Map(); // The message listener needs to be added in the initial run of the
      // service worker, but since we don't actually need to be listening for
      // messages until the cache updates, we only invoke the callback if set.

      self.addEventListener('message', event => {
        if (event.data.type === 'WINDOW_READY' && event.data.meta === 'workbox-window' && this._navigationEventsDeferreds.size > 0) {
          {
            logger_mjs.logger.debug(`Received WINDOW_READY event: `, event);
          } // Resolve any pending deferreds.


          for (const deferred of this._navigationEventsDeferreds.values()) {
            deferred.resolve();
          }

          this._navigationEventsDeferreds.clear();
        }
      });
    }