node-apex

Node.js module that makes AWS Lambda's user experience a little nicer using promises.

  • 所有者: apex/node-apex
  • 平台:
  • 许可证: MIT License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Apex Node.js

Node.js module that makes AWS Lambda's user experience a little nicer.

export default λ(e => 'Hello World')

Installation

$ npm install --save apex.js

Features

  • return promises
  • return results
  • actually report uncaught errors (Lambda does not)

Example

The following example fetches some urls and reports the response status of each. The context and callback are also passed, but are not
shown here.

import axios from 'axios'
import λ from 'apex.js'
import 'babel-polyfill'

export default λ(e => {
  console.log('fetching %d urls', e.urls.length)
  return Promise.all(e.urls.map(async (url) => {
    console.log('fetching %s', url)
    return {
      status: (await axios.get(url)).status,
      url
    }
  }))
})

Without this module it looks something like the following, as Lambda does not try/catch, and the Context
provided has awkward method names that are not idiomatic, or you must use the callback.

import axios from 'axios'
import 'babel-polyfill'

// Vanilla Lambda function.
export default async (e, ctx, cb) => {
  console.log('fetching %d urls', e.urls.length)

  try {
    const res = await Promise.all(e.urls.map(async (url) => {
      console.log('fetching %s', url)
      return {
        status: (await axios.get(url)).status,
        url
      }
    }))

    // or ctx.succeed(res);
    cb(null, res);
  } catch (err) {
    // or ctx.fail(err);
    cb(err);
  }
}

Contributors

Badges



tjholowaychuk.com  · 
GitHub @tj  · 
Twitter @tjholowaychuk

主要指标

概览
名称与所有者apex/node-apex
主编程语言JavaScript
编程语言JavaScript (语言数: 1)
平台
许可证MIT License
所有者活动
创建于2016-01-31 04:19:30
推送于2017-07-11 01:12:59
最后一次提交2017-07-10 18:12:58
发布数2
最新版本名称v1.1.0 (发布于 2016-01-31 11:51:37)
第一版名称v1.0.0 (发布于 2016-01-30 20:21:18)
用户参与
星数280
关注者数9
派生数14
提交数14
已启用问题?
问题数6
打开的问题数3
拉请求数2
打开的拉请求数1
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?