Наблюдаемый от обещания без данных ответа - PullRequest
0 голосов
/ 30 апреля 2020

Я столкнулся с проблемой при попытке получить данные из другого сценария. У меня есть angular проект с вложенным сценарием, в котором сценарий выполняется по требованиям определенных вызовов.

сценарий. js

makeCall(recordId, reason, prefix){
            return new Promise(((resolve, reject) => {
                var action = urlToCall + '?' + 'recordId='+ recordId + '&' + 'reason=' + reason + '&' + 'prefix=' + prefix;
                this.sender.sendRequest({ajaxAction: 'POST', urlAction: action})
                  .then(response =>{
                      console.log(_timestamp(), " - Successful Request (makeCall) with response: ", response);
                 resolve({'msg':'success'});
                  }).catch(error =>{
                      console.error(_timestamp(), " - Request failed (makeCall) with error: ", error);
                      this.sender.sendErrorEvent(error.message, "makeCall");
                  });
            }).bind(this));
        }
    }

Этот сценарий call return только 200 Ok или коды ошибок, поэтому он не возвращает никаких данных обратно, поэтому я принудительно решаю с помощью объекта {'msg': 'success'}.

Так что в сервисе где Я делаю вызов скрипту, который у меня есть:

service.ts

executeCall(id, reason, prefix): Observable<any> {
    return from(this._connectionController.makeCall(id, reason, prefix));
 }

А затем в компоненте я подписываюсь на этот сервис:

component.ts

this._service.executeCall(id, reason, prefix).subscribe((res: any) => {
            console.log('Success');

        }, (error) => {
            console.log('ERROR', error);
        });

Проблема заключается в том, что когда я выполняю вызов, он возвращает мне следующее:

ОШИБКА TypeError: Вы указали «undefined», где поток ожидалось. Вы можете предоставить Observable, Promise, Array или Iterable.

Есть идеи, как мне добиться успеха при подписке? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...