【问题标题】:How to return values when observer.complete() is called调用observer.complete()时如何返回值
【发布时间】:2021-08-07 11:40:58
【问题描述】:
 if (md5hash === payload.md5hash) {
            result = {
              path: payload.localFilePath,
              length: payload.length,
              md5hash: payload.md5hash
            };
            // HOW TO RETURN result before observer complete is called ???
            observer.complete();

请帮帮我,我是 Angular 的新手

【问题讨论】:

  • 不要张贴代码截图。这使得重现该问题变得异常困难。您还需要提供更多代码。在observer.complete() 之前你到底在做什么?
  • 我已经粘贴了,请看一下

标签: angular rxjs publish-subscribe observer-pattern


【解决方案1】:

试试这个:


let obs = Observable.create(observer => { 
    if (md5hash === payload.md5hash) {
        observer.next( {
              path: payload.localFilePath,
              length: payload.length,
              md5hash: payload.md5hash
            });
        observer.complete();
    }
    else {
        observer.error('error');
    }
});

obs.subscribe((response) => {
    console.log(response);
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 2020-04-22
    • 2019-04-13
    • 2012-01-10
    • 1970-01-01
    相关资源
    最近更新 更多