0.0.1 • Published 4 years ago

hbq-request-last v0.0.1

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

对异步请求函数,多次请求始终返回最后一次执行的结果, 解决慢请求覆盖最后一次请求结果的问题

my love

安装

npm i request-last

使用

import requestLast from 'reqeust-last'   
{
  reqeust:requestLast(function (){
    return ajax.get(/*...*/) 
  })
}

代码

export default function requestLast(fn) {
  let totalTimes = 0;
  return async function requestLastHandleFn(...args) {
    const times = ++totalTimes;
    return new Promise((resolve) => {
      fn.apply(this, args).then(result => {
        if (times === totalTimes) {
          resolve(result);
        }
      });
    });
  };
}