日常bug总结

日常bug总结

1.post请求所有的对象数据都要序列化

http.interceptors.request.use((config)=>{
	config.header['x-Token']="sdada";
	if(config.method.toLowerCase()=='post'){
		Object.keys(config.data).forEach((elem)=>{
			if(typeof(config.data[elem])=='object'){
				config.data[elem]=JSON.stringify(config.data[elem])
			}
		})
	}
	return Promise.resolve(config)
})

2.异步请求

场景

A页面是数据获取并展示页面,B页面是详情页面数据由上一个页面传递,C页面是操作页面

C通过操作与服务器交互完成修改,此时需要更新B页面的数据,B页面的数据又是A页面通过路由传参获取得到的,所以需要告诉A页面重新获取下服务器的数据,并重新模拟一个路由跳转把参数重新传递一遍,以此来刷新B页面的视图。

但是A页面获取数据又是10个异步请求,无法判断什么时候请求完事。

1.如何告诉A页面重新获取数据

通过在C页面的commit来改变vuex中的state,A页面通过监听vuex中的state来触发更新

2.如何判断异步请求完事了,并进行排序

一开始采用的是for循环加async/await来保证同步,但是会出现乱序,需要保证全部请求完之后再进行排序。请求完毕的点又无法得知,后采用Promise.all

Promise.all(this.machineStatusList.map((machine)=>{return this.getMachineDetail(machine.MachineNum)})) 

Promise.all 的异步或同步”示例。返回值将会按照参数内的 promise 顺序排列,而不是由调用 promise 的完成顺序决定

3.使用let声明的全局变量,不会成为window的属性:

var age=11
console.log(window.age) //11
let sex=1
console.log(window.sex) //undefined

3.a标签

  • 默认本页打开
  • 新页面打开
<a href="" target="_blank"></a>

4.饿了么导航高亮刷新丢失

  • :default-active="$route.path"

5.传e参数

  • func(参数1,$event)

6.&&写法

&&接函数或者(表达式)

7.箭头函数省略return

  • 对象 ({})
  • 函数 (fun())
  • 表达式 xx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值