[Nodejs] - Mysql Kutuphanesi Alternatifi
-
lazz bunu yazdı
şimdi bir problemım var ve problem benı nodejs her yerde sıkıstırıyorcoumunu bulmayı hedeflıyorum
asagıda kodlarımı paylasıyorum
async function getAyarlar() { let getSecretKey= await mysql.query("SELECT Veri FROM tb_ayar where Anahtar='Key'"); secretKey=getSecretKey; console.log(getSecretKey); return getSecretKey; }
bu fonksıyonum veri tabanındakı verı sutununu getırıyor
getAyarlar(); console.log('Ayarlar Yuklendi'); console.log('SecretKey: ' + secretKey);
buda kullanım seklım
amacım get ayarlar fonksıyonu tamamlanmadan program devam etmesın bıtmesını beklesın.
ama sonuc bu
node js bu fonksıyonu beklemesını nasıl saglıyabılırım
async function getAyarlar() {
let getSecretKey= await mysql.query("SELECT Veri FROM tb_ayar where Anahtar='Key'");
secretKey= await getSecretKey;
console.log(getSecretKey);
return getSecretKey; }
-- Ve --
await getAyarlar();
console.log('Ayarlar Yuklendi');
console.log('SecretKey: ' + secretKey);
Edit: kalınlaştırayım eklediğimi. Birde Promise kullana bilirsin await biraz daha kolay kullanımlı ama multi tasking de promise daha performansli sonuç veriyor.
rakkoc tarafından 12/May/20 10:57 tarihinde düzenlenmiştir -
ozmn bu sekılde bır hata verıyor
bu hatayı
await getAyarlar();
console.log('Ayarlar Yuklendi');
console.log('SecretKey: ' + secretKey);
oraya await ekleyınce verıyor
-
lazz bunu yazdı
ozmn bu sekılde bır hata verıyor
bu hatayı
await getAyarlar();
console.log('Ayarlar Yuklendi');
console.log('SecretKey: ' + secretKey);
oraya await ekleyınce verıyor
hocam asenkron metodu iceren kendi metodunun basina async eklemelisin... rakkoc
un verdigi örnekte async function getAyarlar() ... yaziyor dikkat edersen
-
o tmm hocam onu anladım ama bu fonksıyonu program acılırken calıstırıyorum yanı bu fonksıyon baska bır fonksıyonun ıcınde degıl
kullandıgım fonksıyona asnyc ekledım ama kulladıngım yerde async eklıyemem
kodlarım bu sekılde
yukarda fonksıyonu cagırdıgım yerde await koyunca hata verıyor
lazz tarafından 12/May/20 11:13 tarihinde düzenlenmiştir -
bu sekılde kullanıncada
bu sekılde oluyor
-
Bu dediğin NodeJS yapısına aykırı hocam. Event Loop olayına bak. Sen tipin C# Java gibi bir main fonksiyonu olsun istiyorsan bunu kendin yazmalısın.
Örneğin
const main=async function(){ await App.initialize(); await HttpService.start(); App.run(); } main();
-
lazz bunu yazdı
ozmn bu sekılde bır hata verıyor
bu hatayı
await getAyarlar();
console.log('Ayarlar Yuklendi');
console.log('SecretKey: ' + secretKey);
oraya await ekleyınce verıyor
await getAyarlar();
console.log(
'Ayarlar Yuklendi'
);
console.log(
'SecretKey: '
+ secretKey);
in oldugu function'i da async olarak tanimlar isen çalışır.
-
unbalanced bunu yazdılazz bunu yazdı
ozmn bu sekılde bır hata verıyor
bu hatayı
await getAyarlar();
console.log('Ayarlar Yuklendi');
console.log('SecretKey: ' + secretKey);
oraya await ekleyınce verıyor
hocam asenkron metodu iceren kendi metodunun basina async eklemelisin... rakkoc
un verdigi örnekte async function getAyarlar() ... yaziyor dikkat edersen
Hata tam tersi gibi geldi bana.
-
@rakkoc , @unbalanced Arkadaş direkt index.js içerisine bir function olmadan await kullanmaya çalışıyor :) Problem burdan kaynaklı dikkatinizi çekerim.
-
rakkoc bunu yazdılazz bunu yazdı
ozmn bu sekılde bır hata verıyor
bu hatayı
await getAyarlar();
console.log('Ayarlar Yuklendi');
console.log('SecretKey: ' + secretKey);
oraya await ekleyınce verıyor
await getAyarlar();
console.log(
'Ayarlar Yuklendi'
);
console.log(
'SecretKey: '
+ secretKey);
in oldugu function'i da async olarak tanimlar isen çalışır.
hocam sıkıntı orda ıste
await getAyarlar();
console.log(
'Ayarlar Yuklendi'
);
console.log(
'SecretKey: '
+ secretKey);
bunlar bir fonksıyonun ıcınde degıl