function unCacheNodeOnIdle(node) {
  requestIdleCallback((deadline) => {
    // if idle time exists or callback invoked when timeout
    if (deadline.timeRemaining() > 0 || deadline.didTimeout) {
      recursivelyUnCacheNode(node);
    }
  }, { timeout: 50 });  // 50ms to avoid blocking user operation
}
/**
 * unCacheViewNodeOnIdle - recursively delete ViewNode cache on idle
 * @param {ViewNode|number} node
 */
recursively delete ViewNode cache on idle
@param {ViewNode|number} node
recursively delete ViewNode cache on idle @param { ViewNode|number } node
function unCacheNodeOnIdle(node) {
  requestIdleCallback((deadline) => {
    if (deadline.timeRemaining() > 0 || deadline.didTimeout) {
      recursivelyUnCacheNode(node);
    }
  }, { timeout: 50 });  
}
function unCacheNodeOnIdle ( node ) { requestIdleCallback ( ( deadline ) => { if ( deadline . timeRemaining ( ) > 0 || deadline . didTimeout ) { recursivelyUnCacheNode ( node ) ; } } , { timeout : 50 } ) ; }
unCacheViewNodeOnIdle - recursively delete ViewNode cache on idle
 @param {ViewNode|number} node
unCacheViewNodeOnIdle - recursively delete ViewNode cache on idle @param { ViewNode|number } node
// if idle time exists or callback invoked when timeout // 50ms to avoid blocking user operation