gpt4 book ai didi

angular - 类型 'subscribe' 上不存在属性 'Promise'。 ngx-soap 包

转载 作者:行者123 更新时间:2023-12-04 02:57:35 27 4
gpt4 key购买 nike

我正在尝试使用 ngx-soap 获取 Angular 6 的 soap 请求包裹。我有像这样处理 api 的服务:

import { Injectable } from '@angular/core';

@Injectable()
export class ApiService {

client: Client;

constructor(
private soap: NgxSoapService
) {
this.soap.createClient('assets/wsdl/auth/auth.wsdl').subscribe(client => this.client = client);
}
}

尽管这是包页面上的确切示例,但我收到以下错误:

[ts] Property 'subscribe' does not exist on type 'Promise<Client>'.

我知道我可以使用 then,但难道不能使用这个包订阅吗?

最佳答案

您需要将 promise 转换为 observable,然后您才能订阅。

对于 RxJs v6,将您的代码更改为:

import { from } from 'rxjs'

const promise = this.soap.createClient('assets/wsdl/auth/auth.wsdl')
from(promise).subscribe(client => this.client = client)

对于 RxJs v5:

import 'rxjs/add/observable/fromPromise'
import { Observable } from 'rxjs/Observable'

const promise = this.soap.createClient('assets/wsdl/auth/auth.wsdl')
Observable.fromPromise(promise).subscribe(client => this.client = client)

关于angular - 类型 'subscribe' 上不存在属性 'Promise<Client>'。 ngx-soap 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52226496/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com