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没有实质影响。
这里需要简要的说一下什么样的错误是应该被程序处理的:
阻塞整个workflow的错误。
会造成程序异常的错误。
对逻辑有影响的错误。
需要对错误进行特殊处理,并添加相应分支逻辑以完成某些其他逻辑的。
在这个例子里面,这个错误本来就是后端在正常业务范围能会返回的错误,并且并不会对整个业务流程造成影响,因此在这里便没有做特殊处理,同时也保证了整个代码流程的单一。
00
相似问题