Angular 8 和 sailsJs 的套接字 IO 请求中的错误



我是 socket.io 和 Angular 中的新人,我向 sailsJS(后端(发出了套接字请求,但在请求后出现以下错误:

Sails回复:错误:Express 4/Sails v1 中不再支持res.json()的 2 元用法。 请改用res.status(statusCode).json(body)

棱角分明:

import { Injectable } from '@angular/core';
import * as io from 'socket.io-client';
import * as sailsIOClient from 'sails.io.js';
import {Observable} from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class SocketIoService {
private socket = sailsIOClient(io);
constructor() {
this.socket.sails.url = 'http://localhost:1337';
}
sendRequest() {
console.log('call sokcet')
this.socket.socket.get('/socket', (resData) => {
console.log('Sails responded with: ', resData);
});
}
}

在 Sails JS 中,我有以下配置和代码: 在路线.js:

'get /socket': 'TaskController.Index',

在任务控制器中.js:

module.exports = {
Index: function (req, res) {
console.log('in sails socket', req.isSocket);
if( !req.isSocket) {
return res.badRequest();
}
sails.sockets.join(req.socket, 'task');
sails.sockets.broadcast('task', 'list');
// sails.sockets.blast('task', 'entry');
return res.ok();
}
}

在套接字.js中:

transports: ['polling', 'websocket'],

我通过更改令牌中的"返回代码"解决了上述问题 授权功能: 已解决的代码:

return res.status(401).json({err: 'No Authorization header was found'});

旧代码(抛出错误(:

return res.json(401, {err: 'No Authorization header was found'});

相关内容

最新更新