No coffeescript, semelhante ao ruby, o valor do último comando será usado como valor de retorno da função. Devemos levar isso em consideração ao escrever uma função, especialmente uma função de retorno de chamada.
Quando _cada método fornecido pelo LoDash, conforme indicado em seus documentos:
Callbacks podem sair da iteração mais cedo, retornando explicitamente false.
A iteração pode ser encerrada antecipadamente se a função de retorno de chamada retornar false.
Portanto, devemos ter muito cuidado ao escrever a função de retorno de chamada. Se você não tem a intenção de retornar o valor da última instrução para informar _.each
para interromper a iteração, seria aconselhável colocar a true
na última linha da função. Para garantir que a função de retorno de chamada possa retornar explicitamente true. Caso contrário, a iteração pode ser interrompida inesperadamente quando a última instrução retornou true. Isso me incomodou por um tempo.
Na verdade, não se trata apenas _.each
, acredito que também devemos ter cuidado com as outras funções que suportam callback com valor de retorno.