以下のようなサービスを作成してデータを取得しているのですが
このサービスをcomponentで呼んでthis.testDataを返したいのですが
普通に呼ぶとundifinedが返ってきてしまいます
非同期なのが影響していると思うのですがいいやり方はないでしょうか
import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { GetApiReturnService } from './get-api-return.service'; import * as xml2js from 'xml2js'; @Injectable({ providedIn: 'root' }) export class TestService { url: string; testData; constructor(private http: HttpClient, private getApiReturnService: GetApiReturnService) { } searchTest(){ this.url = 'https://test.jp/api?type=1'; let testData; this.getApiReturnService.search(this.url).subscribe(response => { xml2js.parseString(response, function (err, result) { testData = result; }); this.testData = testData; }); return this.testData; } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/05 08:28