(boundaryFiber, retryTime)
| 23145 | } |
| 23146 | |
| 23147 | function retryTimedOutBoundary(boundaryFiber, retryTime) { |
| 23148 | // The boundary fiber (a Suspense component or SuspenseList component) |
| 23149 | // previously was rendered in its fallback state. One of the promises that |
| 23150 | // suspended it has resolved, which means at least part of the tree was |
| 23151 | // likely unblocked. Try rendering again, at a new expiration time. |
| 23152 | if (retryTime === NoWork) { |
| 23153 | var suspenseConfig = null; // Retries don't carry over the already committed update. |
| 23154 | |
| 23155 | var currentTime = requestCurrentTimeForUpdate(); |
| 23156 | retryTime = computeExpirationForFiber(currentTime, boundaryFiber, suspenseConfig); |
| 23157 | } // TODO: Special case idle priority? |
| 23158 | |
| 23159 | |
| 23160 | var root = markUpdateTimeFromFiberToRoot(boundaryFiber, retryTime); |
| 23161 | |
| 23162 | if (root !== null) { |
| 23163 | ensureRootIsScheduled(root); |
| 23164 | schedulePendingInteractions(root, retryTime); |
| 23165 | } |
| 23166 | } |
| 23167 | function resolveRetryThenable(boundaryFiber, thenable) { |
| 23168 | var retryTime = NoWork; // Default |
| 23169 |
no test coverage detected