0
私の人生の間、私はこのhttp呼び出しからの応答をループできない理由を理解できません。何らかの理由でdata
のタイプがオブジェクトであると不平を言っていますが、私がログオンするときには、私が期待しているような配列にすることができます。'forEach'プロパティが 'Object'タイプに存在しません
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { URLSearchParams } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/forkJoin';
promises.push(Observable.create(observer => {
this.http.post(`items/event/${this.event.auction_code}`, body.toString(), {
headers: new HttpHeaders().set('Content-Type', 'application/X-www-form-urlencoded'),
}).subscribe(data => {
var classifiedData;
data.forEach((item)=>{
classifiedData.push(new Item(item));
});
observer.next(data);
observer.complete();
},error => {
observer.throw(error);
});
}));
...
Observable.forkJoin(promises).subscribe(results => {
results.forEach((result,i)=>{
data.content.template[i].data = result;
});
});
編集:
CONSOLE.LOGが私にこの
編集示しています。2
は、私はまた、インターセプタを設定しているが、これが原因とすることができそれ?
@Injectable()
export class NoopInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const duplicate = req.clone({
url: `${environment.apiUrl}/${req.url}`,
params: req.params.set('key', environment.apiKey)
});
return next.handle(duplicate);
}
}
期待どおりの配列ではないようです。 'console.log(data)'は何を出力しますか? –
'Object 'に' Property' map 'は存在しません。私が言及したのと同様に、コンソールからログアウトしたコンソールはコンソールに配列を表示します。 – Jordan
質問を、コンソールで表示されているもののスクリーンショットで更新しました – Jordan