code: async function sleep(seconds) {
      let ms = seconds * 1000;
      while (ms > _maxTimeout) {
          // Support sleeping longer than the javascript max setTimeout...
          await new Promise(resolve => setTimeout(resolve, _maxTimeout));
          ms -= _maxTimeout;
      }
      return await new Promise(resolve => setTimeout(resolve, ms, seconds));
  }
docs: `setTimeout` max valid value. 
  Sleep for N seconds.
  
  @param {number} seconds