質問編集履歴
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 | 
             
            ```
         | 
