code: function checkInvokeReadyState() {
              var readyState = DEP_READY;
  
              // 先判断resource是否加载完成。如果resource未加载完成，则认为未准备好
              each(
                  module.depRs,
                  function ( dep ) {
                      if ( !( dep.absId && modIsDefined( dep.absId ) ) ) {
                          readyState = DEP_UNREADY;
                          return false;
                      }
                  }
              );
  
              if ( readyState !== DEP_READY ) {
                  return readyState;
              }
  
              // 检查所有依赖模块，根据以下因素处理readyState
              // 1. 是否定义完成
              // 2. 是否强依赖
              // 3. 是否循环依赖
              each(
                  module.depMs,
                  function ( dep ) {
                      if ( modIsDefined( dep.absId ) ) {
                          return;
                      }
  
                      // dep.circular相当于一层cache，尽量减少modHasCircularDependency多次调用的开销
                      if ( dep.circular === CIRCULAR_DEP_UNREADY ) {
                          dep.circular = modHasCircularDependency( id, dep.absId );
                      }
  
                      switch ( dep.circular ) {
                          case CIRCULAR_DEP_YES:
                              if ( dep.hard ) {
                                  readyState = DEP_ANALYZED;
                              }
                              break;
                          case CIRCULAR_DEP_NO:
                              readyState = DEP_ANALYZED;
                              break;
                          case CIRCULAR_DEP_UNREADY:
                              readyState = DEP_UNREADY;
                              return false;
                      }
                  }
              );
  
              return readyState;
          }
docs: 检查依赖加载完成的状态
  
  @ignore
  @return {number}