ページングクエリキャッシュ(プロキシモード)

キャッシュプロキシ

繰り返し動作のために、プロキシキャッシュをキャッシュの形で使用することができる(知識のプロキシモードを、私は別の記事を見ることができるデザインパターン-プロキシモード)同じページに対して、ページングクエリを、私たちは繰り返したくはありませんもし存在していないときに、オブジェクトへのAjaxリクエストのバックキャッシュの使用は、直接入手キャッシュがある場合には、すべてのAJAX後の要求は、我々がプロキシオブジェクトをキャッシュ使用することができます。この時間は非常に消費性能です。

ページングクエリの最適化

アプリケーションプロキシキャッシュのAjaxの理由は、それが、要求の以下のカプセル化、要求モジュールは、コールバックや約束を使用する、非同期AJAXaxios

function getArticle(currentPage,pageSize){
  return Http.mGet('/getArticle',{currentPage,pageSize}).then(e=>Promise.resolve(e.data));
}
export const proxyGetArticle = (function(){
  const caches = {};
  return async function(currentPage,pageSize){
    const cache = Array.prototype.join.call(arguments,',');
    // console.log(caches)
    if(cache in caches){
      return caches[cache];
    }
    await 
      getArticle(currentPage,pageSize).then(res=>{
        Promise.resolve(caches[cache] = res)
      })
    // await 
    return caches[cache];
  }
})()

、イベントループが原因调用时多次调用需要使用awaitで、次のreact-hookアプリケーション

 useEffect(()  =>  {
    async function fetchData(){
        const List = await   proxyGetArticle(currentPage,pageSize)
        updateBlogList(data);
    }
    fetchData()
  }, [currentPage]);
公開された85元の記事 ウォン称賛62 ビュー20000 +

おすすめ

転載: blog.csdn.net/qq_36754767/article/details/105011603