socket.io-клиент вреагирует (redux-saga) не работает connect - PullRequest
0 голосов
/ 29 мая 2019

если я напишу {transports: ['websocket']}, то у меня ошибка -

Соединение WebSocket с Ошибка ws: //echo.websocket.org/socket.io/? EIO = 3 & transport = websocket: Ошибка во время рукопожатия WebSocket: неожиданный код ответа: 404

иначе -

Доступ к XMLHttpRequest по адресу «http://echo.websocket.org/socket.io/?EIO=3&transport=polling&t=Mi560SU' из источника 'http://localhost:3000' заблокирован политикой CORS: Заголовок «Access-Control-Allow-Origin» отсутствует в запрошенном ресурс.

моя сага:

 import { put, take, call } from 'redux-saga/effects';
import io from 'socket.io-client';
import { eventChannel } from 'redux-saga';

import {
  GET_TEST_SAGA,
} from '../actions';

export const socket = io.connect('http://echo.websocket.org', { transports: ['websocket'] });

const SocketEvents = {
  jobsFresh: 'jobs+fresh',
};

function createFreshJobsChannel() {
  const subscribe = (emitter) => {
    socket.on(SocketEvents.jobsFresh, emitter);

    return () => socket.removeListener(SocketEvents.jobsFresh, emitter);
  };

  return eventChannel(subscribe);
}

export default function* getTestSocket() {
  const channel = yield call(createFreshJobsChannel);

  while (true) {
    yield take(GET_TEST_SAGA);

    while (true) {
      const jobs = yield take(channel);

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