Обещание / Отложенный код внутри наблюдаемого разрыва - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть приложение, в котором мне нужно выполнить некоторый отложенный код внутри разборки Observable, но я не могу найти способ дождаться выполнения этого отложенного кода.

let observable = new Observable(subscriber => {
    setTimeout(() => subscriber.next('Hello World'), 3000);

    return () => {
        let promise = new Promise(resolve => {
            setTimeout(() => resolve(), 5000);
        });
    };
});

let subscription = observable.subscribe(next => console.log(next));

// So here the teardown callback will be called.
// I want to find a way to wait for the Promise to resolve or reject.
subscription.unsubscribe();

Так что unsubscribe, похоже, не принимает аргументов и ничего не возвращает.

Есть идеи о том, как получить переменную promise, которая находится внутри функции разрыва Observable?

...