Organizando chamadas assíncronas no NodeJS – Nimble

Olá, que nunca ficou confuso em se deparar com uma tela cheia de callbacks espalhados por todo o código ? Isso é uma consequência pelo fato do NodeJS ser uma linguagem non-blocking/assíncrona.

Existe uma forma da gente organizar essas chamadas assíncronas, esse é o Nimble.

Conseguimos montar a sequencia de chamadas tanto de forma serial (series):

_.series([
    function (callback) {
        setTimeout(function () {
            console.log('one');
            callback();
        }, 25);
    },
    function (callback) {
        setTimeout(function () {
            console.log('two');
            callback();
        }, 0);
    }
]);

Mesmo que o primeiro método leve 25 segundos para terminar, ele só executa o segundo, quando o primeiro terminar. então a saída será one, two.

Também conseguimos organizar as chamadas de forma pararela (parallel), onde não saberemos sempre quem termina primeiro, pois isso vai variar de acordo com o tempo de execução de cada método.

_.parallel([
    function (callback) {
        setTimeout(function () {
            console.log('one');
            callback();
        }, 25);
    },
    function (callback) {
        setTimeout(function () {
            console.log('two');
            callback();
        }, 0);
    }
]);

Eu comecei a usar em meus projetos e estou achando fantástico o uso.

Para versão em NodeJS segue o repositório NPM: https://www.npmjs.com/package/nimble


Se vivemos em Espírito, andemos também em Espírito. Gálatas 5:25

1 comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s