p-single
TypeScript icon, indicating that this package has built-in type declarations

1.0.9 • Public • Published

简介

pSingle 用于处理异步操作
pSingle 包裹的异步操作在完成前不会再次执行。
只有当 pSingle 包裹的异步操作执行完毕后,pSingle才会使其可能再次运行

该方法可减少api的前置(如登陆)或者后置(如刷新token)请求数量。

安装

npm install --save p-single

使用方法

例1:pSingle 接受一个参数,该参数是一个方法,该方法需返回Promise。

import pSingle from './p-single.js'
 
// pSingle需要一个返回 Promise的方法
const doWhenClick = pSingle(function promiseReturnedFunc() {
  return new Promise(/*...*/)
})
 
// 或者直接使用 async
const getAccessToken = pSingle(async (username, password) => {
  // ...
})

例2:如果你使用了 ES Next - decorator,你可以这样使用 pSingle

import {PSingle} from './p-single.js'
 
class Api {
  /**
   * 刷新 token
   * 该请求直到返回前不会再次发送,
   * 该请求返回结果后,每一个调用者都会收到正确的 Promise信号
   */
  @PSingle()
  oauthByRefreshToken (refreshToken) {
    return fetch(/*...*/)
      // ...
  }
}
export default new Api()

Package Sidebar

Install

npm i p-single

Weekly Downloads

1

Version

1.0.9

License

MIT

Unpacked Size

4.68 kB

Total Files

5

Last publish

Collaborators

  • herbluo