apparat is a simple but powerful way to organize async code for nodejs


a simple yet powerful way to organize async code

npm install apparat

read domain from file domain.txt. in parallel write resolved IPV4 addresses to addresses4.txt and write resolved IPV6 addresses to addresses6.txt. remove domain.txt when both files have been written successfully.

fs = require 'fs'
dns = require 'dns'
Apparat = require 'apparat'
{receivesendonErrordebug} = new Apparat
debug console.log
onError (err) -> throw err
fs.readFile 'domain.txt'send 'contents'
receive 'contents'(contents) ->
    domain = contents.toString().trim()
    # parallel 
    dns.resolve4 domainsend 'addresses4'
    dns.resolve6 domainsend 'addresses6'
receive 'addresses4'(addresses) ->
    fs.writeFile 'adresses4.txt'addresses.join('\n')send 'addresses4 written'
receive 'addresses6'(addresses) ->
    fs.writeFile 'adresses6.txt'addresses.join('\n')send 'addresses6 written'
receive 'addresses4 written''addresses6 written'->
    fs.unlink 'domain.txt'send 'deleted'
receive 'deleted'->
    console.log 'OK'