回答編集履歴

3

修正

2018/11/03 14:00

投稿

退会済みユーザー
test CHANGED
@@ -38,9 +38,9 @@
38
38
 
39
39
 
40
40
 
41
- 次のような感じでうまくいきました。
41
+ 次のような感じでうまくいきました。~~コメントの部分を見ていただければわかりますが、「プロミス」および「JSONをパースした結果」、その2つをreturnできていなかったのかなと思います。~~
42
42
 
43
- メントの部分を見ていただければわかりますが、「プロミス」および「JSONをパスした結果」、その2つをreturnできいなかったのかなと思い
43
+ ⇒回答したコードにpromiseとasync/awatiが混在しちゃってたので、直しした
44
44
 
45
45
 
46
46
 
@@ -64,25 +64,25 @@
64
64
 
65
65
 
66
66
 
67
- function getPhotoInfo() {
67
+ // asyncがいります
68
68
 
69
- // プロミスを返します
69
+ async function getPhotoInfo() {
70
70
 
71
- return rp(options)
71
+ // awaitします
72
72
 
73
- .then(res => {
73
+ const json = await rp(options);
74
74
 
75
- // 結果を返します
75
+ const info = JSON.parse(json);
76
76
 
77
- return JSON.parse(res);
77
+ return info;
78
-
79
- });
80
78
 
81
79
  }
82
80
 
83
81
 
84
82
 
85
83
  async function main() {
84
+
85
+ // awaitして画像情報を取得します
86
86
 
87
87
  const photoInfo = await getPhotoInfo();
88
88
 

2

微修正

2018/11/03 13:59

投稿

退会済みユーザー
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  次のような感じでうまくいきました。
42
42
 
43
- コメントの部分を見ていただければわかりますが、プロミスJSONをパースした結果、その2つをreturnできていなかったのかなと思います。
43
+ コメントの部分を見ていただければわかりますが、プロミス」および「JSONをパースした結果、その2つをreturnできていなかったのかなと思います。
44
44
 
45
45
 
46
46
 

1

追記

2018/11/03 11:32

投稿

退会済みユーザー
test CHANGED
@@ -31,3 +31,67 @@
31
31
  }
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ ######追記
38
+
39
+
40
+
41
+ 次のような感じでうまくいきました。
42
+
43
+ コメントの部分を見ていただければわかりますが、プロミスとJSONをパースした結果、その2つをreturnできていなかったのかなと思います。
44
+
45
+
46
+
47
+ ただ、エラーに関しては別問題だと思います。
48
+
49
+ それについてはまた別途、エラー分を質問に乗せたうえでご質問されてみては?
50
+
51
+
52
+
53
+ ```javascript
54
+
55
+ const rp = require('request-promise');
56
+
57
+
58
+
59
+ const options = {
60
+
61
+ uri: 'https://api.syosetu.com/novelapi/api/?out=json',
62
+
63
+ };
64
+
65
+
66
+
67
+ function getPhotoInfo() {
68
+
69
+ // プロミスを返します
70
+
71
+ return rp(options)
72
+
73
+ .then(res => {
74
+
75
+ // 結果を返します
76
+
77
+ return JSON.parse(res);
78
+
79
+ });
80
+
81
+ }
82
+
83
+
84
+
85
+ async function main() {
86
+
87
+ const photoInfo = await getPhotoInfo();
88
+
89
+ console.log(photoInfo);
90
+
91
+ }
92
+
93
+
94
+
95
+ main();
96
+
97
+ ```