当我使用.create(item)方法从客户端(在浏览器中)执行插入操作时,我看到1个通过websocket或REST的调用转到了feathersjs。我看到一个请求进入了Feathersjs。由于未知的原因,我看到在方法中创建了2行,日志中有2行:{“MySql”:“after: name_of_service - Method: create","level":"info"}
使用顺序化4.42.0和羽毛-顺序化6.0.1
在服务器代码中运行create()时,我没有遇到这个问题,只是从客户端运行。
我发现https://github.com/feathersjs-ecosystem/feathers-rethinkdb/issues/80看起来很相似,但它是针对不同的DB的,并且解释与MySql不符。
我因为其他原因切换到了MariaDB,但显然没有什么变化。
我使用的是FeathersJS v3.x,并升级到v4.x,看看是否可以修复它。不是的。在我的工作中,我一直在制作自己的插入方法,但使用内置的方法会更好。
我尝试在REST和websocket之间切换。
我的钩子:
const { authenticate } = require('@feathersjs/authentication').hooks;
module.exports = {
before: {
all: [ ], // authenticate('jwt') normally use, but deactivated to debug
find: [],
get: [],
create: [],
update: [],
patch: [],
remove: []
},
after: {
all: [],
find: [],
get: [],
create: [],
update: [],
patch: [],
remove: []
},
error: {
all: [],
find: [],
get: [],
create: [],
update: [],
patch: [],
remove: []
}
};服务:
const createService = require('feathers-sequelize');
const createModel = require('../../models/name_of_service.model');
const hooks = require('./name_of_service.hooks');
module.exports = function (app) {
const Model = createModel(app);
const paginate = app.get('paginate');
const options = {
Model,
paginate: {
default: 100,
max: 2000
}
};
app.use('/name_of_service', createService(options));
const service = app.service('name_of_service');
service.hooks(hooks);
};我期望它在MySql表中插入1行。但得到了2。我原以为after钩子的日志中有一行,但看到了2。这已经发生了几个月,我在想,嘿,也许我不是唯一的一个。
发布于 2019-09-26 01:14:00
谢谢大家的帮助。我找到问题了。我修改了我的菜鸟错误:
app.configure(socketio());
app.configure(socketio(function(io) {io.sockets.setMaxListeners(555);}));至:
app.configure(socketio(function(io) {io.sockets.setMaxListeners(555);}));https://stackoverflow.com/questions/57961733
复制相似问题