小编Han*_*ans的帖子

节点异步并行瀑布内部

我正在Nodejs中构建一个服务器来从某个数据库中检索数据.我已经使用异步库一段时间了,并想出了一些事情,比如将瀑布放入并行函数中.

我偶然发现了一个问题,我首先需要执行一个查询,然后在其他可以同时执行的查询中使用该查询的结果.代码看起来像这样:

async.waterfall([
    function(callback) {
        connection.query(   query,
                            function(err, rows, fields) {
                                if (!err) {
                                    callback(null,rows);
                                } else {
                                    callback(null,"SORRY");
                                }
                            }
        );
    },
    async.parallel([
        function(resultFromWaterfall,callback) {
            connection.query(query,
                            function(err, rows, fields) {
                                if (!err) {
                                    callback(null,rows);
                                } else {
                                    callback(null,"SORRY");
                                }
                            }
           );
        },
        function(resultFromWaterfall,callback) {
            connection.query(query,
                            function(err, rows, fields) {
                                if (!err) {
                                    callback(null,rows);
                                } else {
                                    callback(null,"SORRY");
                                }
                            }
           );
        }
    ])
], finalCallback
);
Run Code Online (Sandbox Code Playgroud)

现在我的问题是从瀑布函数访问结果并在并行函数中使用它.

parallel-processing asynchronous waterfall node.js

5
推荐指数
1
解决办法
2918
查看次数

React 中组合相对于继承的优势

我很难在 React 中用继承代替组合。我将尝试基于 React 风格指南中不鼓励的继承来解释所提出的问题和我当前的解决方案。

首先,我在超级组件中定义公共状态和方法:

export default class SuperComponent extends Component {
    constructor(props) {
        super(props);
        this.state = commonState;
    }

    foo() {
        this.setState({a: 3});
    }

    render() {
        return (
            <div>
                {this.getContent()}
            </div>
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我制作具有更多状态和方法的子组件。这些也应该可以访问超级组件的状态:

export default class SubComponent1 extends SuperComponent {
    constructor(props) {
        super(props);
        this.state = Object.assign(this.state, subComponent1State);
    }

    bar() {
        this.setState({b: 7});
    }

    getContent() {
        return (
            <div>
                I'm subcomponent 1
            </div>
        )
    }
}

export default class SubComponent2 extends SuperComponent {
    constructor(props) {
        super(props);
        this.state = …
Run Code Online (Sandbox Code Playgroud)

inheritance composition reactjs

5
推荐指数
2
解决办法
1543
查看次数