0.0.14 • Published 5 years ago

request-provider v0.0.14

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

Request Provider

GitHub license NPM Version NODE Version CircleCI

AOP 编程思想为核心,提供函数使用的一种思路,将想要执行的函数看作是切入点,切入点前需要做的任务看作是前置任务,切入点后需要做的任务看作是后置任务。

中文版文档

Installation

npm install request-provider -g

Examples

import { TransactionImpl, wrappers } from '../src/index'
import * as request from 'request-promise'

const wrappers = {
  initial: [
    async ctx => {
      const options = ctx.arguments[0]
      options.url = 'http://www.baidu.com'
      console.log('rp-start', ctx.arguments[0])
    }
  ],
  close: [async ctx => console.log('rp-end', ctx.ret)]
} as wrappers

const requestAop = new TransactionImpl(wrappers)
requestAop.performAsync(request, null, {
    url: '',
    method: 'get'
  })

这个例子展示了将 request 作为切入点,前置函数对 request 的入参进行了赋值操作,后置函数打印了 request 返回的内容。例子比较简单,但是结合具体的场景,可以实现很多非常便利的操作。

Wrapper

你需要自定义wrapper,wrapper 是包含下面两个属性的普通对象

属性含义
initial切入点的前置函数组
close切入点的后置函数组

PerformSync & PerformAsync

TransactionImpl 的实例提供了 PerformSync 和 PerformAsync 两个公共 api,分别对应于同步和异步的处理场景。

入参含义
method将该函数视为切入点
scope切入点所在的作用域
...arguments切入点最多支持 6 个入参

Action Flow

actionFlow

Licence

MIT

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago

0.0.1-alpha

5 years ago