当前位置: 首页 > news >正文

建立一个网站怎么做产品推广方式都有哪些

建立一个网站怎么做,产品推广方式都有哪些,专门做网页的网站,做网站先做前台还是后台优化 getUserInfo 请求 要求 getUserInfo 是个通用接口,在各个模块里面都有可能使用 requestUserInfo 模拟的是请求服务端真正获取用户信息的方法 业务背景 在一个页面有 A, B, C 等多个功能模块,A, B, C 模块渲染执行顺序不可控每个模块都会调用 get…

优化 getUserInfo 请求

要求
getUserInfo 是个通用接口,在各个模块里面都有可能使用 requestUserInfo 模拟的是请求服务端真正获取用户信息的方法

业务背景

  • 在一个页面有 A, B, C 等多个功能模块,A, B, C 模块渲染执行顺序不可控
  • 每个模块都会调用 getUserInfo 这个方法, 这个方法是可以直接调用 requestUserInfo 获取用户信息
  • 调用三次就会发起三次网络请求
  • 现在需要优化 getUserInfo 这个方法, 保证 getUserInfo 方法3次调用后, 最终只会发出一次网络请求。

测试用例

import { isEqual } from 'lodash-es';/*** 第二题*/// 核心用户请求
let _requestTime = 0;
const requestUserInfo = () => {// 这个方法的实现不能修改return Promise.resolve().then(() => {return new Promise<void>((resolve) => {setTimeout(() => {// 模拟 ajax 异步,1s 返回resolve();}, 1000);}).then(() => {_requestTime++;return {nick: "nick",age: "18",};});});
};async () => {try {// 模拟请求const result = await Promise.all([getUserInfo(),new Promise(resolve => setTimeout(async () => { resolve(await getUserInfo()) }, 300)),new Promise(resolve => setTimeout(async () => { resolve(await getUserInfo()) }, 2300))]);if (!isEqual(result, [{nick: "nick",age: "18",}, {nick: "nick",age: "18",}, {nick: "nick",age: "18",}])) {throw new Error('Wrong answer');}return _requestTime === 1;} catch (err) {console.warn('测试运行失败');console.error(err);return false;}
};

思路

  • 由于测试用例使用Promise.all调用,则需要返回Promise。
  • 又因为只需要调用一次接口则拿到数据之后需要缓存方便共享。
  • 一旦有数据那就直接resolve。
  • 由于Promise返回的也是Promise,可以缓存第一次的Promise,如果存在则只需要等第一次结束
  • 结束之后的Promise我们再通过拿到结果进行resolve。

实现

let cache = null;
let preRequest = null;
const getUserInfo = () => {return new Promise((resolve,reject)=>{if(cache) resolve(cache)if(preRequest){preRequest.then(res=>{resolve(cache)}).catch(err=>{reject(cache)})}else{preRequest = requestUserInfo().then(res => {cache = res;resolve(res)}).catch((err) => {reject(err)})}})
}
http://www.hkea.cn/news/457820/

相关文章:

  • 2022注册公司取名推荐网络营销的优化和推广方式
  • 做网站费是多少贵州二级站seo整站优化排名
  • 做网站潍坊培训课程安排
  • python做网站需要什么seo学习论坛
  • 用手机怎样制作网站网络seo是什么
  • 企业网站开发信息搜索大全浏览器
  • 做虚拟货币交易网站域名注册平台有哪些
  • 企业网站首页的实现专业的网页制作公司
  • 动态网站建设教程宝鸡seo排名
  • 做外贸b2b免费网站优化推广网站排名
  • 丹徒网站建设价格香港服务器
  • 宿迁哪里有做网站开发的信息流广告案例
  • 电脑网页无法访问如何解决北京seo地址
  • 直销网站系统制作价格java培训机构
  • dw软件个人简历网站怎么做百度导航下载2022最新版官网
  • 成都官方网站建设泉州seo外包
  • 矿山建设网站天津网络推广seo
  • 国内优秀的响应式网站深圳专业seo外包
  • 重庆装修价格c盘优化大师
  • 银行网站 设计方案外包优化网站
  • 做网站是学什么专业软件外包企业排名
  • wordpress商城 中文站百度站长平台网址
  • 建手机网站的软件有哪些南宁百度seo价格
  • 做网站私活长沙网络营销公司
  • 网站建设公司 广告法被处罚沧州网络推广外包公司
  • 电商网站 开发成本惠州seo外包服务
  • 佛山做网站建设价格百度网盘官方下载
  • 网上购物商城网站建设个人免费域名注册网站
  • 成都学网站建设电子营销主要做什么
  • 织梦cms通用蓝白简介大气企业网站环保科技公司源码网络推广员招聘