Могу ли я проверить, работает ли асинхронная функция? - PullRequest
1 голос
/ 09 октября 2011

Я создаю сценарий оболочки, который вызывает различные функции. Когда все функции будут выполнены, я хотел бы закрыть соединение с базой данных и выйти.

Если бы я мог каким-то образом получать событие каждый раз, когда асинхронное задание начинается и заканчивается, я мог бы обработать его, но возможно ли это?

1 Ответ

2 голосов
/ 09 октября 2011

Я смущен вашим вопросом, Вы можете использовать модуль async следующим образом:

var async = require('async');
var exec = require('child_process').exec;

async.parallel( [
    //Spawn slow proccesses
    function(cb){ exec('cat *.js bad_file | wc -l', cb ) }, 
    function(cb){ exec('cat *.js bad_file2 | wc -l', cb ) },
    function(cb){ exec('cat *.js bad_file3 | wc -l', cb ) }
], 
function( err ){
    //If there is an error, the callback returns an error will be put in "err"
    if( err != null )
        console.log( err ); 

    //All done, quit!
    require("process").exit();
} );
...