0

私はres.send()すべてのコールバックで作業することができません。私が考えていたのは、return res.send({ error, success });上に配置されたコールバックに移動することでしたが、下の潜在的なエラー/成功メッセージを実行しません。

コールバックを使用してエラー/成功メッセージを返すような関数を使用した別の方法で試してみましたが、機能createUser()させることもできませんでした。これを適切に機能させる方法を教えてくれるものはありますか?

友人が await と async のコールバックを使用することを提案しましたが、それを検索したとき、私はそれがどのように適切に機能するかを理解するのにあまり慣れていませんでした.

app.post('/create', function(req, res) {

    // -- Default Variables
    let error       = "";
    let success     = "";
    let formData    = req.body.formData;

    if (formData.userName, formData.userPass, formData.userEmail) {
        console.log(formData);
        conn.query("SELECT COUNT(userId) AS rowCount FROM users WHERE userName = ?", [formData.userName], function(error, results, fields) {

            if (results[0].rowCount == 0) {
                conn.query("INSERT INTO users ( userName, userEmail, userPass ) VALUES ( ?, ?, ? )", [ formData.userName, formData.userEmail, formData.userPass ], function(error, results, fields) {

                    if (results.affectedRows >= 1)
                        success = "Your account has successfully been created!";
                    else
                        error = "Unexpected error occured, please try again!";
                });
            } else { error = "You already have an account!"; }
        });
    } else { 
        error = "Please make sure all fields are entered correctly!";
    }
    // -- Return
    return res.send({ error, success });
});
4

2 に答える 2