code: function checkReadyState(node) {
              for (var i = 0, len = node.children.length; i < len; i++) {
                  var child = node.children[i];
  
                  if (child instanceof ImportCommand) {
                      var target = engine.targets[child.name];
                      if (!target && engine.options.missTarget === 'error') {
                          throw new Error('[ETPL_MISS_TARGET]' + child.name
                              + ', when imported by ' + targetName);
                      }
  
                      readyState = readyState && target && target.isReady(engine);
                  }
                  else if (child instanceof Command) {
                      checkReadyState(child);
                  }
              }
          }
docs: 递归检查节点的ready状态
  
  @inner
  @param {Command|TextNode} node 目标节点