logout后getUserId错误

来源:6-11 js部分实现

tom睡着了

2019-03-16

老师您好,我觉得home.js的getUserId(callback)方法有点问题。
logout后,进入首页后,uname是空,那么此时执行getUserId方法,它的request url是 :8000/user,而api的router中没有处理/user的handler,所以就会出现 Encountered error when loading user id 的错误。所以我觉得应该添加uname是否为空的判断。

function getUserId(callback) {
	var dat = ...
	
	// 这里加入 uname的判断
	// 当uname为空,即没有cookie的时候,就不要发送 get /user/:username 请求。
 	if (uname === ""){
		return;
	}

	$.ajax({
		url: 'http://' + window.location.hostname + ':8080/api',
		...
	}).done(function (data, statusText, xhr) {
		callback(data, null);
	});
}
写回答

1回答

艾文西

2019-03-17

这里不是错误,callback本来就是应该处理这些内容的。

添加了这个判断只是减少了去请求id的一个步骤,对整个workflow没有实质影响。

这里需要简要的说一下什么样的错误是应该被程序处理的:

  1. 阻塞整个workflow的错误。

  2. 会造成程序异常的错误。

  3. 对逻辑有影响的错误。

  4. 需要对错误进行特殊处理,并添加相应分支逻辑以完成某些其他逻辑的。

在这个例子里面,这个错误本来就是后端在正常业务范围能会返回的错误,并且并不会对整个业务流程造成影响,因此在这里便没有做特殊处理,同时也保证了整个代码流程的单一。

0
0

Go语言实战流媒体视频网站,高效学习Go高性能开发

从零开始,全面掌握Go语言编码的架构风格和开发Web的关键技能

996 学习 · 268 问题

查看课程