回答編集履歴

2

記載漏れ修正

2019/08/21 06:06

投稿

thyda.eiqau
thyda.eiqau

スコア2982

test CHANGED
@@ -1,8 +1,14 @@
1
1
  **記入途中で投稿してしまいました、いま追記していますので少々お待ちください**
2
+
3
+ -> 追記おわりました、失礼しました。 Aug 21, 2019 3:06 PM
2
4
 
3
5
 
4
6
 
7
+ ----
8
+
9
+
10
+
5
- それぞれのメソッが何をするもなのか、根本的理解度を深める必要があると思います。とはいえ私もふだんjQueryは使わないので、今ドキュメントを見た範囲での理解度ですが……
11
+ Deferred, when, then, resolveといったキーワーについての、根本的理解度を深める必要があると思います。とはいえ私もふだんjQueryは使わないので、今ドキュメントを見た範囲での理解度ですが……
6
12
 
7
13
 
8
14
 
@@ -10,7 +16,7 @@
10
16
 
11
17
  /*
12
18
 
13
- * arg: Deferredオブジェクト。arg.resolve(foo) の形で、fooをthenに渡すことができる
19
+ * arg: Deferredオブジェクト。arg.resolve(foo) の形で、fooをthenのコールバックに渡すことができる
14
20
 
15
21
  * resolvedValue: arg が resolve(foo) したときの foo がここに渡る
16
22
 
@@ -38,13 +44,13 @@
38
44
 
39
45
 
40
46
 
47
+ ----
48
+
41
49
  > validMailSute() は検証結果として trueかfalse を返さなくてはならないのに、さらに別に「Deferredを返す」とは、いったいどうやればいいのでしょうか?
42
50
 
43
51
 
44
52
 
45
- Lhankor_Mhyさんの回答に対する上記のコメントを拝見しました。この疑問に対しての回答は次のとおりです。
53
+ Lhankor_Mhyさんの回答に対する上記のコメントを拝見しました。この疑問に対しての回答は次のとおりです。
46
-
47
-
48
54
 
49
55
  ```jquery
50
56
 
@@ -56,13 +62,35 @@
56
62
 
57
63
 
58
64
 
59
- function validMailSute(emailAddress) {}
65
+ function validMailSute(emailAddress) {
66
+
67
+ const deferred = $.Deferred();
68
+
69
+ $.ajax('xxx').then(res => {
70
+
71
+ // resolveするときに「trueかfalse」を持たせると、
72
+
73
+ // 呼び出し元のthenのコールバックに引数として「trueかfalse」を渡すことができる
74
+
75
+ deferred.resolve(true);
76
+
77
+ });
78
+
79
+ // 関数としては promise() を返す
80
+
81
+ return deferred.promise();
82
+
83
+ }
84
+
85
+ ```
60
86
 
61
87
 
62
88
 
63
- ```
89
+ ----
64
90
 
65
- ----
91
+ 全体のコードとしては次のような感じかなと思います。
92
+
93
+ 最終形を渡して投げっぱなしにするのは質問者さんのためにはならないと思いますが、すでに「何を理解したほうがいいか」という観点では他の皆様からすばらしい指摘を受けていると思いますので、お手本と言うと烏滸がましいですが、参考になれば幸いです。
66
94
 
67
95
  ```jquery
68
96
 

1

編集途中で投稿してしまったので追記する時間を欲しい旨の記載

2019/08/21 06:06

投稿

thyda.eiqau
thyda.eiqau

スコア2982

test CHANGED
@@ -1,3 +1,7 @@
1
+ **記入途中で投稿してしまいました、いま追記していますので少々お待ちください**
2
+
3
+
4
+
1
5
  それぞれのメソッドが何をするものなのか、根本的に理解度を深める必要があると思います。とはいえ私もふだんjQueryは使わないので、今ドキュメントを見た範囲での理解度ですが……
2
6
 
3
7