Могу ли я сделать вызовы API для моего Node-сервера, подключенного через Web Socket к моему ReactJS? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть интерфейс в ReactJS, где я интегрирую свой сервер в NodeJS через websocket (также используя sharedb). https://github.com/share/sharedb

Моя настройка для этого ниже:

import sharedb from 'sharedb/lib/client';
// Using a Reconnecting Web Socket https://github.com/share/sharedb/pull/138/files
import { default as WebSocket } from 'reconnecting-websocket';

export default class ShareService {
  constructor(location) {
    this.socket = new WebSocket(location);
    // Open WebSocket connection to ShareDB server
    const connection = new sharedb.Connection(this.socket);
    this.connection = connection;
    this.location = location;
  }

  close() {
    this.connection.close();
  }

  reconnect() {
    this.socket = new WebSocket(this.location);
    this.connection.bindToSocket(this.socket);
  }

  doc(collection, id) {
    const doc = this.connection.get(collection, id);
    return doc;
  }

  sendCommand(data) {
    this.socket.send(JSON.stringify({
      'a': 'command',
      'deviceType': 'web',
      ...data
    }));
  }
}

И когда мне нужно позвонить из React, я делаю:

this.shareService.sendCommand({
        command: 'I_AM_COMMAND',
        payload: {
          activeAgendaId: 123,
        }
      });

Я хочу знать, могу ли я также делать обычные вызовы API для моего Node из React даже после того, как WebSocket connection есть?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...