2015-08-20 72 views
1

如果我有像_.transform這樣的功能。Lodash從地圖斷開/減少錯誤?

iteratee函數中的某處遇到錯誤;如何退出_.transform功能?

{ 
    try { 
    fs.readFileSync('dog_pics'); 
    } catch(e) { 
    return; 
    } 
} 

_.map什麼?哪個預期return陳述。

+0

'支持_.transform'要求你建立一個新的結果。我們可以看到你的迭代器的其餘部分嗎? –

+0

這是一個假設。我很好奇,如果有需要的話,有辦法跳出這些功能。 – Breedly

回答

9

_.transform回調可以以停止迭代返回false

從lodash例子:

_.transform([2, 3, 4], function(result, n) { 
    result.push(n *= n); 
    return n % 2 == 0; 
}); 
// → [4, 9] 

正如你所看到的,在第三步迭代休息,當n === 3

_.map_.reduce不迭代停止

+2

這是一個很好/一個無賴。 – Breedly

0

由於_.transform會建立一個新的返回對象,如果沒有設置推送結果就可以「跳出」該迭代。

(我沒有實際測試此代碼。)