https://github.com/facebook/react/blob/30b47103d4354d9187dc0f1fb804855a5208ca9f/packages/scheduler/src/Scheduler.js#L180-L185
timeout = timeoutForPriorityLevel(priorityLevel);
    startTime = currentTime;
  }
  var expirationTime = startTime + timeout;
  var newTask = {
    id: taskIdCounter++,
    callback,
    priorityLevel,
    startTime,
    expirationTime,
    sortIndex: -1,
  };
  if (enableProfiling) {
    newTask.isQueued = false;
  }
  if (startTime > currentTime) {
    
    newTask.sortIndex = startTime;
    push(timerQueue, newTask);
    if (peek(taskQueue) === null && newTask === peek(timerQueue)) {
      
      if (isHostTimeoutScheduled) {
        
        cancelHostTimeout();
      } else {
        isHostTimeoutScheduled = true;
      }
      
      requestHostTimeout(handleTimeout, startTime - currentTime);
    }