Tôi đã tìm thấy ví dụ về việc sử dụng socket.IO 1. * width Express 4. Đây là một linkSocketIo.use (chức năng (ổ cắm, tiếp theo)) - Đi đâu tiếp theo, cách bắt hoặc nhận nó?
Everyting hoạt động hoàn hảo. Nhưng có một mã số:
io.use(function(socket, next) {
try {
var data = socket.handshake || socket.request;
if (! data.headers.cookie) {
return next(new Error('Missing cookie headers'));
}
console.log('cookie header (%s)', JSON.stringify(data.headers.cookie));
var cookies = cookie.parse(data.headers.cookie);
console.log('cookies parsed (%s)', JSON.stringify(cookies));
if (! cookies[COOKIE_NAME]) {
return next(new Error('Missing cookie ' + COOKIE_NAME));
}
var sid = cookieParser.signedCookie(cookies[COOKIE_NAME], COOKIE_SECRET);
if (! sid) {
return next(new Error('Cookie signature is not valid'));
}
console.log('session ID (%s)', sid);
data.sid = sid;
sessionStore.get(sid, function(err, session) {
if (err) return next(err);
if (! session) return next(new Error('session not found'));
data.session = session;
next();
});
} catch (err) {
console.error(err.stack);
next(new Error('Internal server error'));
}
});
Vì vậy, nếu có một lỗi, nó đi để next
. Nhưng đi đâu tiếp theo? Làm thế nào để xử lý lỗi này mà không cần cố gắng, bắt. Tôi có nghĩa là xử lý nơi tiếp theo này đang nhận được như trong thể hiện:
// something here
// And this is callback function which accepts next with err
functin(err, anythingHere){
if err
throw err;
else
// some code here
}
Cảm ơn bạn sir, Bạn giúp – onar