code: function take(pattern, namespace) {
        // 判断是否捕获当前 namespaces。
        if (typeof pattern === "string") {
          // 如果是想 take 当前命名空间的话加上 namespace
  
          if (namespace) {
            return sagaEffects.take(`${namespace}${SEP}${pattern}`);
          }
  
          if (~pattern.indexOf(SEP)) {
            const fullNamespaces = pattern.split(SEP);
            const actionType = fullNamespaces[fullNamespaces.length - 1];
            const namespaces = fullNamespaces.slice(0, fullNamespaces.length - 1);
            warning(
              namespaces !== model.namespace,
              `sagas.take: ${pattern} should not be prefixed with namespace ${
                model.namespace
              }`
            );
          } else {
            return sagaEffects.take(this.prefixType(pattern, model));
          }
        }
        return sagaEffects.take(pattern);
      }
docs: 对 saga 的 take 进行封装，默认捕获的 action 会补充当前 namespace,且必须是当前 model 存在能够被捕获的 saga 或 reducer
  否则需要提供 namespace
  
  @param {any} pattern
  @param {any} namespace 其他 namespace
  @returns