我检查了这个链接https://docs.feathersjs.com/real-time/primus.html,以便在服务方法上设置额外的参数,但我不知道该怎么做。
下面是我的服务类:
create(id, shellId, params) {
...
}以下是primus配置:
app.configure(primus({
transformer: 'websockets',
timeout: false
}, (primus) => {
primus.library();
primus.save(path.join(__dirname, '../public/dist/primus.js'));
}))在手册中,它提到了如下内容:
primus.use('todos::create', function(socket, done){
// Exposing a request property to services and hooks
socket.request.feathers.referrer = socket.request.referrer;
done();
});但是我不确定这个函数是做什么的。我还尝试在我的应用程序中添加上面的代码,我会得到socket.request is undefined错误。在这种情况下,如何在服务类上添加更多参数?
发布于 2017-02-01 11:31:54
您只能使用official service methods及其签名,对于create,对于整个数据对象,它是data,对于其他参数,它是params。您的服务类create如下所示:
class MyService {
create(data, params) {
const { shellId, id } = data;
// Do something here
return Promise.resolve({ /* some data here */ });
}
}
app.use('/myservice', new MyService());在客户端,您可以通过Feathers client或direct Primus connection使用它,如下所示:
primus.send('myservice::create', {
id: 'test',
shellId: 'testing'
}, (error, data) => {
console.log('Returned data', data);
});https://stackoverflow.com/questions/41947105
复制相似问题