回答編集履歴

1

関数で非同期通信の結果をreturnするために、

2019/02/12 14:54

投稿

noka_blank
noka_blank

スコア252

test CHANGED
@@ -23,3 +23,75 @@
23
23
  return res;
24
24
 
25
25
  ```
26
+
27
+
28
+
29
+ 追記 : 非同期通信の結果を関数からreturnさせるため、全体の構造を修正しました。
30
+
31
+
32
+
33
+ ```js
34
+
35
+ $(function() {
36
+
37
+ var array = [];
38
+
39
+
40
+
41
+ // 関数からは$.postの結果をreturnする
42
+
43
+ function pics() {
44
+
45
+ return $.post('sampleAjax.php', {
46
+
47
+ kind: 'picks'
48
+
49
+ });
50
+
51
+ };
52
+
53
+
54
+
55
+ function tags() {
56
+
57
+ return $.post('sampleAjax.php', {
58
+
59
+ kind: 'tags'
60
+
61
+ });
62
+
63
+ };
64
+
65
+
66
+
67
+ $('#push').on('click', function() {
68
+
69
+ $.post('sampleAjax.php', {
70
+
71
+ kind: 'hotels'
72
+
73
+ }, function(result) {
74
+
75
+ // 返り値のdone関数を使って、非同期通信の結果を取得できます。
76
+
77
+ pics().done(function(result) {
78
+
79
+ console.log('pics', result);
80
+
81
+ });
82
+
83
+ tags().done(function(result) {
84
+
85
+ console.log('tags', result);
86
+
87
+ });
88
+
89
+ });
90
+
91
+ return false;
92
+
93
+ });
94
+
95
+ });
96
+
97
+ ```