質問編集履歴
1
Promiseに関する質問をする際に、コードを載せたかったため。
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -140,4 +140,41 @@
|
|
|
140
140
|
|
|
141
141
|
|
|
142
142
|
module.exports = router;
|
|
143
|
+
```
|
|
144
|
+
###追記
|
|
145
|
+
1.staticなメソッドをasyncさせる方法はないのでしょうか?
|
|
146
|
+
2.以下のvalidateRegisterUsersData()のようなPromiseチェーンを組むときに3変数になってしまうのですが、isFilledUsernameの引数をusernameだけにしてもPromiseチェーンは組めるのでしょうか?
|
|
147
|
+
3.以下の2点を守ってコードを書き換える際に、Promiseチェーンを組むときは以下のような形になると思ったのですが、間違ってますか?
|
|
148
|
+
- ejsにエラー情報を渡したいので、errorsの中にエラーを格納したい。
|
|
149
|
+
- クラスを崩して、すべてのメソッドをモジュールとしてexportsするのは避けたいので、Authenticatorクラスの関数として実装したい。
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
```js
|
|
154
|
+
static validateRegistUsersData(body) {
|
|
155
|
+
console.log("validateRegistUsersData");
|
|
156
|
+
var isValidated = true, errors = {};
|
|
157
|
+
Promise.resolve(body.username, isValidated, errors)
|
|
158
|
+
.then(this.__isFilledUsername)
|
|
159
|
+
.then((results) => new Promise((resolve, reject) => {
|
|
160
|
+
resolve(results.isValidated);
|
|
161
|
+
}));
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
// __isFilledUsername = username, isValidated, errors => new Promise() だとエラー
|
|
166
|
+
__isFilledUsername(username, isValidated, errors) {
|
|
167
|
+
console("__isFilledUsername");
|
|
168
|
+
new Promise((resolve, reject) => {
|
|
169
|
+
console.log(username);
|
|
170
|
+
resolve({ isValidated, errors });
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
static __isFilledPassword(password, isValidated, errors) {
|
|
175
|
+
new Promise((resolve, reject) => {
|
|
176
|
+
isValidated = false;
|
|
177
|
+
errors.password = "passwordが未入力です。";
|
|
178
|
+
});
|
|
179
|
+
}
|
|
143
180
|
```
|