具有回调的两个函数之间的javascript变量范围问题

时间:2014-10-14 17:01:17

标签: javascript arrays concatenation scope

我想要连接两个数组。在下面的代码中,我只得到txs_history数组。

getFirstArray(function(txs) {
    getSecondArray(function(txs_history) {
        txs.concat(txs_history);
        res.send(txs_history);
    });    
});

根据我的知识,我可以猜测txs var无法在getSecondArray中读取,这就是为什么它只发送txs_history。我无法弄清楚如何解决这个范围问题。

此致

1 个答案:

答案 0 :(得分:2)

txs在范围内,但txs.concat()会返回一个新数组,并保留原始txs未修改的数组。你想要的可能就是:

getFirstArray(function(txs) {
    getSecondArray(function(txs_history) {
        var combined = txs.concat(txs_history);
        res.send(combined);
    });    
});