【问题标题】:Angular2 Resolve promise inside a subscription?Angular2解决订阅中的承诺?
【发布时间】:2017-07-29 13:07:22
【问题描述】:

有没有办法让这个伪代码工作?

private letsSee(): Promise<any> {
  return new Promise(resolve => {
    this.someService.someValue.subscribe((nextValue) => {
      resolve(nextValue);
    });
  });
}

【问题讨论】:

  • 这段代码(根本不是伪代码)有什么原因不起作用?你有错误吗?
  • 所以我又试了一次,没有错误但是this.letsSee().then(res =&gt; {console.log(res)});没有输出任何东西...即使我将上面的代码修改为resolve(true)

标签: angular promise resolve subscribe


【解决方案1】:

将 Observable 转换为 Pormise:

private letsSee(): Promise<any> {
  return this.someService.someValue.toPromise();
}

【讨论】:

    猜你喜欢
    • 2017-12-12
    • 2019-08-31
    • 2017-09-21
    • 2018-02-25
    • 1970-01-01
    • 2015-06-24
    • 2018-04-02
    • 2019-09-29
    • 2018-03-19
    相关资源
    最近更新 更多