Я пытаюсь выполнить настройку веб-сокета в эпопее, наблюдаемом за сокращением, и я использую подход, аналогичный этому парню: https://github.com/MichalZalecki/connect-rxjs-to-react/issues/1
Тем не менее, похоже, что мой первый удар по подключению не работает, хотя он выглядит так же, как и парень выше:
import 'rxjs';
import Observable from 'rxjs';
import * as scheduleActions from '../ducks/schedule';
export default function connectSocket(action$, store) {
return action$.ofType(scheduleActions.CANCEL_RSVP)
.map(action => {
new Observable(observer => {
// do websocket stuff here
observer.next('message text');
});
})
.map(text => {
console.log("xxxxxxxxxxxxx: ", text);
return scheduleActions.rsvpCancelled(1);
});
};
Однако я получаю Object is not a constructor
ошибку:
=== ОБНОВЛЕНИЕ ===
Похоже, предложение по деструктуризации экспорта {Observable} сработало!
Проблема не только в том, что text
, похоже, не переходит к следующему методу ...
import 'rxjs';
import { Observable } from 'rxjs';
import * as scheduleActions from '../ducks/schedule';
export default function connectSocket(action$, store) {
return action$.ofType(scheduleActions.CANCEL_RSVP)
.map(action => {
new Observable(observer => {
// do websocket stuff here
observer.next('message text');
});
})
.map(text => {
console.log("xxxxxxxxxxxxx: ", text); // prints undefined
return scheduleActions.rsvpCancelled(1);
});
};
rxjs
не имеет экспорта по умолчанию, поэтому вызовimport Observable from 'rxjs'
не должен работать. Вместо этого вы должны использоватьimport { Observable } from 'rxjs'
. - person martin   schedule 21.03.2017text
кажется неопределенным - person bigpotato   schedule 21.03.2017