簡體   English   中英

如何使用Primus在Feathersjs服務方法上添加更多參數

[英]How to add more parameters on feathersjs service method with primus

我檢查了此鏈接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是未定義的錯誤。 在這種情況下,如何在服務類上添加更多參數?

您只能使用官方的服務方法和他們的簽名,在的情況下createdata對整個數據對象和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客戶端直接的Primus連接使用它,如下所示:

primus.send('myservice::create', {
  id: 'test',
  shellId: 'testing'
}, (error, data) => {
  console.log('Returned data', data);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM