Карта свойств не существует для типа обещание <void> - PullRequest
0 голосов
/ 01 марта 2019

В моем проекте Angular 6 получаю Карта свойств не существует при обещании типа Ошибка, даже если я включил

import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';

Ниже приведен мой код

 submit(): Promise<any> {
        return http.post('api/SubmitEmployee', JSON.stringify(this.formData))
            .map((response: Response) => <any>response.json())
            .toPromise()
            .catch(this.handlePromiseError)
    }

    handlePromiseError(error: Response) {
        console.log(error)
    }

После некоторого Google я нашел решение, как показано ниже, но это также не работает

import { map } from 'rxjs/operators';  

pipe(map((response: Response) => response.json()))

После включения это показывает, что ошибка тип свойства не существует в обещании типа Следующее - мой пользовательский postметод

post(url: string, content: any, resolve: ResolveFunction = null, reject: RejectFunction = null) {
    this.clearCache();
    const retryFunc = _ => this.post(url, content, resolve, reject);
    return fetch(appSettings.baseApiUri + url, {
      method: 'POST',
      headers: this.getCustomHeader(),
      body: content
    })
      .then(result => {
        this.handleResponse(url, result, retryFunc, resolve, reject);
      })
      .catch(error =>
        this.debounce(_ => this.handleError(url, error, retryFunc).catch(_ => reject(error)), this.debounceTimeout)
      );
  }

1 Ответ

0 голосов
/ 05 марта 2019

используйте из , чтобы обернуть http.post как из (http.post (). Then ()), который возвращает наблюдаемое, так что вы можете передавать потоки

...