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