valla setinterval'i gördükten sonra okumayı bıraktım. olmaz öyle, Node'da herşey asenkron, javascript event loop nasıl çalışır önce bunu öğren, "azimle yapan betonu deler" gibi kaba kuvvetle her 100ms'de deneyerek olmaz bu iş, daha beter olur, özellikle javascript'te.
Ve bu şekilde export ediyorum. Sonra router.js dosyamda bunları işliyorum.
router.post('/register', (req, res, next) => {
const email = user_ctrl.main_reg(req,res); // html'deki form elemanına girilen email'i return eden fonksiyon.
if(email){
module.exports.email = email; const interval = setInterval(()=>{ // interval kullanmazsam, aşağıda "let email_OK" yaptığımda hep {} bunu gönderiyor.
let email_OK = require('db.js');
if(email_OK){ // email_OK değişkeni boş değilse if bloğuna giriyorum.
user_ctrl.exist_control(req, res, email_OK); // sonucun gönderildiği başka bir fonksiyon. clearInterval(interval); } },100);
Bazı durumları yorum satırlarında da belirttim. Şimdi ben html'deki formu post ettiğimde, örneğin email_OK false çıktı ve bu yüzden ekrana "Girdiğiniz email hesabı zaten mevcuttur!" bastırıyor. Eğer true çıksaydı "Başarılı bir şekilde üye oldunuz!" bastırıyor. Buraya kadar her şey doğru işliyor. Ama mesela email_OK false çıktı ve ekrana "Girdiğiniz email hesabı zaten mevcuttur!" yazdırdıktan sonra tekrar üye olma sayfasına geliyorsun normal olarak. Bu sefer form'da email'e ne yazarsan yaz önceki ekrana bastırdığının aynısını yazıyor. Çünkü email_OK değişmiyor. Ancak uygulamayı yeniden başlatırsam sıfırlanıyor. Bu durumu nasıl çözebilirim? email_OK neden değişmiyor? db.js'de bir kere export edilip her require yapıldığında aynı sonucu vermesini nasıl engelleyebilirim?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Bir veri tabanı modeli dosyam var db.js diye. Buradan kullanıcıların email lerini çekiyorum.
Ve bu şekilde export ediyorum. Sonra router.js dosyamda bunları işliyorum.
Bazı durumları yorum satırlarında da belirttim. Şimdi ben html'deki formu post ettiğimde, örneğin email_OK false çıktı ve bu yüzden ekrana "Girdiğiniz email hesabı zaten mevcuttur!" bastırıyor. Eğer true çıksaydı "Başarılı bir şekilde üye oldunuz!" bastırıyor. Buraya kadar her şey doğru işliyor. Ama mesela email_OK false çıktı ve ekrana "Girdiğiniz email hesabı zaten mevcuttur!" yazdırdıktan sonra tekrar üye olma sayfasına geliyorsun normal olarak. Bu sefer form'da email'e ne yazarsan yaz önceki ekrana bastırdığının aynısını yazıyor. Çünkü email_OK değişmiyor. Ancak uygulamayı yeniden başlatırsam sıfırlanıyor. Bu durumu nasıl çözebilirim? email_OK neden değişmiyor? db.js'de bir kere export edilip her require yapıldığında aynı sonucu vermesini nasıl engelleyebilirim?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi PsLıcks -- 7 Temmuz 2019; 14:22:11 >
< Bu ileti mobil sürüm kullanılarak atıldı >
< Bu ileti mobil sürüm kullanılarak atıldı >
db.js
router.js
< Bu mesaj bu kişi tarafından değiştirildi PsLıcks -- 8 Temmuz 2019; 18:52:4 >
< Bu ileti mobil sürüm kullanılarak atıldı >