after

WebJar for after

Лицензия

Лицензия

MIT
Группа

Группа

org.webjars.npm
Идентификатор

Идентификатор

after
Последняя версия

Последняя версия

0.8.2
Дата

Дата

Тип

Тип

jar
Описание

Описание

after
WebJar for after
Ссылка на сайт

Ссылка на сайт

http://webjars.org
Система контроля версий

Система контроля версий

https://github.com/Raynos/after

Скачать after

Имя Файла Размер
after-0.8.2.pom
after-0.8.2.jar 5 KB
after-0.8.2-sources.jar 22 bytes
after-0.8.2-javadoc.jar 22 bytes
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.webjars.npm/after/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>after</artifactId>
    <version>0.8.2</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/after/
implementation 'org.webjars.npm:after:0.8.2'
// https://jarcasting.com/artifacts/org.webjars.npm/after/
implementation ("org.webjars.npm:after:0.8.2")
'org.webjars.npm:after:jar:0.8.2'
<dependency org="org.webjars.npm" name="after" rev="0.8.2">
  <artifact name="after" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='after', version='0.8.2')
)
libraryDependencies += "org.webjars.npm" % "after" % "0.8.2"
[org.webjars.npm/after "0.8.2"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

Данный проект не имеет модулей.

After Build Status

Invoke callback after n calls

Status: production ready

Example

var after = require("after")
var db = require("./db") // some db.

var updateUser = function (req, res) {
  // use after to run two tasks in parallel,
  // namely get request body and get session
  // then run updateUser with the results
  var next = after(2, updateUser)
  var results = {}
  
  getJSONBody(req, res, function (err, body) {
    if (err) return next(err)
    
    results.body = body
    next(null, results)
  })
  
  getSessionUser(req, res, function (err, user) {
    if (err) return next(err)
    
    results.user = user
    next(null, results)
  })
  
  // now do the thing!
  function updateUser(err, result) {
    if (err) {
      res.statusCode = 500
      return res.end("Unexpected Error")
    }
    
    if (!result.user || result.user.role !== "admin") {
      res.statusCode = 403
      return res.end("Permission Denied")
    }
    
    db.put("users:" + req.params.userId, result.body, function (err) {
      if (err) {
        res.statusCode = 500
        return res.end("Unexpected Error")
      }
      
      res.statusCode = 200
      res.end("Ok")  
    })   
  }
}

Naive Example

var after = require("after")
    , next = after(3, logItWorks)

next()
next()
next() // it works

function logItWorks() {
    console.log("it works!")
}

Example with error handling

var after = require("after")
    , next = after(3, logError)

next()
next(new Error("oops")) // logs oops
next() // does nothing

// This callback is only called once.
// If there is an error the callback gets called immediately
// this avoids the situation where errors get lost.
function logError(err) {
    console.log(err)
}

Installation

npm install after

Tests

npm test

Contributors

  • Raynos
  • defunctzombie

MIT Licensed

Версии библиотеки

Версия
0.8.2
0.8.1