Nano Hash - криптовалюты, майнинг, программирование

Тип «Подписка» не может быть присвоен типу «Подписка».

Я получаю эту ошибку при создании моего проекта JHipster Angular. Это происходит после команды yarn start

import { Component, OnInit, OnDestroy } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { HttpResponse, HttpErrorResponse } from '@angular/common/http';
import { Subscription } from 'rxjs/Subscription';
import { JhiEventManager, JhiParseLinks, JhiAlertService } from 'ng-jhipster';
import { ITEMS_PER_PAGE, Principal } from '../../shared';
import { Observable } from 'rxjs/Observable';
....
private subscription: Subscription;
    private eventSubscriber: Subscription;
...
 ngOnInit() {
        this.subscription = this.route.params.subscribe((params) => {
            this.load(params['id']);
        });
}


> TS90010: Type 'Subscription' is not assignable to type 'Subscription'.
> Two different types with this name exist, but they are unrelated.

Но раньше работало без проблем. Я понятия не имею, почему это происходит.


  • Не могли бы вы предоставить код, где появилась ошибка? Трудно сказать по двум строчкам ошибок. 10.03.2019
  • Возможный дубликат stackoverflow.com/questions/43331230/ 10.03.2019
  • @JosefKatič я предоставил код одного из многих компонентов, где появилась ошибка. 10.03.2019
  • Моя интуиция подсказывает мне, что вы сохраняете подписку, чтобы отписаться от нее в ngOnDestroy. Поскольку он нативен из Angular, вам не нужно этого делать, поэтому вы, вероятно, можете пропустить этот фрагмент кода, если он вам не нужен. Кроме того, вы можете импортировать Observable и Subscription из rxjs. 11.03.2019
  • @YuriiBidiuk Вы уверены, что везде импортируете Subscription из одного и того же источника? 11.03.2019
  • @ Йозеф Катич, да. Везде он импортирован из rxjs. Но, как я уже говорил, раньше все работало идеально. 11.03.2019
  • Попробуйте перезапустить ng serve. Иногда это решает некоторые проблемы. 11.03.2019

Ответы:


1

Попробуйте изменить эти строки

import { Subscription } from 'rxjs/Subscription';
import { Observable } from 'rxjs/Observable';

к этому

import { Subscription, Observable } from 'rxjs';

10.03.2019

2

Не для того, чтобы отвечать на ваш вопрос напрямую, а вместо того, чтобы отслеживать все ваши подписки с объектами подписки, просто используйте одну тему и действуйте до тех пор, пока. Это рекомендуемый способ управления подписками rxjs в Angular.

finalise = new Subject<void>();

this.route.params.subscribe((params) => {
  this.load(params['id']);
}).pipe(takeUntil(this.finalise)); // No need to unsubscribe if finalise emits.

ngOnDestroy() {
  this.finalise.next();
  this.finalise.complete();
}

Теперь вам нужен только один объект для управления всей подпиской в ​​компоненте.

11.03.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..