p-single
v1.0.9
Published
使promise在执行完毕前不会再次执行
Downloads
8
Maintainers
Readme
简介
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()