繁体   English   中英

如何在此功能中添加控制台日志?

[英]How can I add a console log in this function?

非常直接的问题,我只是想在这个 es6 函数中获取控制台日志。

const testLinesSelector = state => state.tests.testLines || [];

我试过了:

const testLinesSelector = state => { 
  console.log('INSIDE THE SELECTOR ===> ');
  return {state.tests.testLines || [] }
};

删除return语句中的大括号,如下所示:

const testLinesSelector = state => { 
  console.log('INSIDE THE SELECTOR ===> ');
  return state.tests.testLines || [];
};

作为旁注,我注意到很多 ES6 代码使用函数变量或函数属性而不仅仅是函数——你是否有理由不这样做?

function testLinesSelector( state ) { 
  console.log('INSIDE THE SELECTOR ===> ');
  return state.tests.testLines || [];
};

您可能会考虑使用Function.name自动化代码的另一种方法 - 尽管这需要使用命名函数(la function foobar() { ... } )。 有一些技术可以在 JavaScript 中获取匿名函数或箭头函数的“名称”,但它们涉及更多,并且可能与您正在使用的“代码中的既定模式”不兼容。

但这里是如何使用命名函数来做到这一点:

function annotate( func ) {
    return ( ...args ) => {
        console.log( func.name ); // `Function.name` is supported in ES6.
        return func( ...args );
    };
}

const testLinesSelector = annotate( function testLinesSelector( state ) { return state.tests.testLines || [] } );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM