teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

TypeScriptの関数追加

2019/07/14 08:53

投稿

退会済みユーザー
answer CHANGED
@@ -1,2 +1,21 @@
1
1
  subscribe()のところが非同期になっているのでは。
2
- Get()メソッドで引数にコールバック用の関数を受け取って、returnする代わりにコールバック用の関数に値を突っ込んでみてはいかがでしょうか。
2
+ Get()メソッドで引数にコールバック用の関数を受け取って、returnする代わりにコールバック用の関数に値を突っ込んでみてはいかがでしょうか。
3
+
4
+ (2019/7/14追記)
5
+ ```
6
+ public Get (callback : Function) {
7
+ this.apollo
8
+ .watchQuery<any>({query: gql`{ names {id name}}`})
9
+ .valueChanges.subscribe(result => {
10
+ callback (result.data.names);
11
+ });
12
+ }
13
+ ```
14
+
15
+ こんな感じにして、下記のように取得してください。
16
+
17
+ ```
18
+ myDB.Get(function (result: Name[]) {
19
+ console.log(result);
20
+ })
21
+ ```