Rxjs 创建在函数完成时侦听的可观察对象

Rxjs 创建在函数完成时侦听的可观察对象,rxjs,observable,Rxjs,Observable,假设我有一个函数 deleteUser(id){ if(idExists(id){ return RxJs.fromPromise(http.request...) }else{ return 'somethingNonAsych' } } 我只想创建一个这样的观察者: deleteUser.subscribe( (complete ) => { //user has been deleted somehow } 我不在乎函数是

假设我有一个函数

deleteUser(id){
    if(idExists(id){
       return RxJs.fromPromise(http.request...)
     }else{
       return 'somethingNonAsych'
   }
}
我只想创建一个这样的观察者:

deleteUser.subscribe( (complete ) => {
   //user has been deleted somehow
}
我不在乎函数是否调用了异步方法,我只想在操作返回时订阅。我对可观察的创造有点陌生,所以我在寻找一个好方法的指导。谢谢

JavaScript值(字符串、对象等)可以使用Observable.of(…)或Observable.from(…)转换为可观测值

可观察的。延迟(…)可用于创建可观察的延迟

function idExists(id) { 
    return id === 'exist' ? true : false;
}

function deleteUser(id) {
    Observable.defer(() => {
        if (idExists(id)) {
            return RxJS.Observable.fromPromise(Promise.resolve('delete user'));
        } else {
            return RxJS.Observable.of('user not exist');
        }
    }).subscribe((value) => {
        console.log(value);
    })
}

deleteUser('exist');
deleteUser('not exist');
function idExists(id) { 
    return id === 'exist' ? true : false;
}

function deleteUser(id) {
    Observable.defer(() => {
        if (idExists(id)) {
            return RxJS.Observable.fromPromise(Promise.resolve('delete user'));
        } else {
            return RxJS.Observable.of('user not exist');
        }
    }).subscribe((value) => {
        console.log(value);
    })
}

deleteUser('exist');
deleteUser('not exist');