• 27-11-2020, 20:05:03
    #1
    şöyle bi fonksiyonum var aynı jquery de kullandığımız gibi mantıkla bu fonksiyonun sonunda bir fonksiyon çalıştırmak ve bu fonksiyonun içinde ki kodları çalıştırmak istiyorum.
     itemkaldir( item );
    Yani bu şekil

     itemkaldir( item ).run(function(){
       //buraya girdiğim kodlar çalışacak
    })
    bir kaç deneme yaptım ilgili gonksiyonun içinde aşağıda ki gibi bir tanımlama yaptım ama sonuç alamadım.
    var run = (function(){
          return; 
     })();
  • 27-11-2020, 20:11:36
    #2
    itemkaldir bittikten sonra mı çalıştıracaksınız yani?
    promise'ları inceleyin
  • 27-11-2020, 20:17:28
    #3
    hesapadim adlı üyeden alıntı: mesajı görüntüle
    itemkaldir bittikten sonra mı çalıştıracaksınız yani?
    promise'ları inceleyin
    Aynen hocam öyle olması gerekiyor çünkü item kaldırdıktan sonra item kaldı mı diye kontrol etmem lazım.
  • 27-11-2020, 20:21:52
    #4
    @hesapadim; bu item kaldir içinde işlevim hocam. Asıl adı uzun da ben burada kısa tuttum o yüzden item kaldır.

    field.css({ 
    opacity: 1.0, visibility: "visible"
     }).animate({ opacity: 0 
     }, 600,function() {
    field.remove(); 
    // bu alanda run fonksiyonu olacak 
     });
    istediğim şu

    itemkaldir( item ).run(function(){
    buraya yazdığım kodlar hemen yukarıda ki alanda çalışacak
    })
  • 27-11-2020, 20:28:42
    #5
    Misafir adlı üyeden alıntı: mesajı görüntüle
    @hesapadim; bu item kaldir içinde işlevim hocam. Asıl adı uzun da ben burada kısa tuttum o yüzden item kaldır.

    field.css({
    opacity: 1.0, visibility: "visible"
     }).animate({ opacity: 0
     }, 600,function() {
    field.remove();
    // bu alanda run fonksiyonu olacak
     });
    istediğim şu

    itemkaldir( item ).run(function(){
    buraya yazdığım kodlar hemen yukarıda ki alanda çalışacak
    })
    function itemkaldir(field){
    return new Promise(
    function(resolve, reject) {
    field.css({
    opacity: 1.0, visibility: "visible"
     }).animate({ opacity: 0
     }, 600,function() {
    field.remove();
    resolve();
    // bu alanda run fonksiyonu olacak
     });
    });
    }
    
    itemkaldir(item).then(function(){
    console.log("tamamdır");
    });
    dener misiniz
    pek anlamıyorum promise'lardan bu arada
  • 27-11-2020, 20:31:27
    #6
    hesapadim adlı üyeden alıntı: mesajı görüntüle
    function itemkaldir(field){
    return new Promise(
    function(resolve, reject) {
    field.css({
    opacity: 1.0, visibility: "visible"
     }).animate({ opacity: 0
     }, 600,function() {
    field.remove();
    resolve();
    // bu alanda run fonksiyonu olacak
     });
    });
    }
    
    itemkaldir(item).then(function(){
    console.log("tamamdır");
    });
    dener misiniz
    pek anlamıyorum promise'lardan bu arada
    console a çıktı vermedi ama mantığı anladım hocam en azından neye bakacağım biliyorum çok sağolun.
  • 27-11-2020, 20:43:33
    #7
    
    const itemkaldir = (el) => {
    if(el == null || el === undefined) return false;
    this.element=null;this.elementName = el;
    this.DOM = document;
    this.self = this;
    if(this.elementName.charAt(0) == "." ){this.element= this.DOM.querySelectorAll(this.elementName ) }
    else{this.element = this.DOM.querySelector(this.elementName ) }
    
    // this.element ile yapıalcaklar default hazırlıklar
    
    this.run = (callback)=>{  
    callback();// gönderilen fonksiyonu çalıştıtır    
    return this.self; // tekrar içersinde kullanılabilir
    }
    this.test = (str)=>{  console.log(str);}
    
    this.on = (method,callback)=>{    this.element["on"+method] = callback;    return this.self;}
    
    this.click = (callback)=>{  this.element["onclick"] = callback;   return this.self;}
    
    return this.self;
       
    }
    
    itemkaldir("body").run(function(){  
    // yapılacakalar  
    console.log('run çalıştı');
    }).test("bunu yaz");
    
    
    itemkaldir("html").on("dblclick",function(el){  console.log("test");})
  • 30-11-2020, 12:44:16
    #8
    eğer promise öğrenmek istemiyorsanız bu söylediğiniz şey callback fonksiyon olarak geçer fonksiyona parametre olarak girebilirsiniz.

    function ilkfonksiyon(callback) {
    .... kodlar
    callback();
    }

    function ikincifonksiyon() {
    .....kodlar
    }

    çalıştırmak için

    ilkfonksiyon(ikincifonksiyon); bu çalıştığında önce ilk sonra ikinci fonksiyon peşpeşe çalışır.
  • 30-11-2020, 16:47:23
    #9
    absie adlı üyeden alıntı: mesajı görüntüle
    eğer promise öğrenmek istemiyorsanız bu söylediğiniz şey callback fonksiyon olarak geçer fonksiyona parametre olarak girebilirsiniz.

    function ilkfonksiyon(callback) {
    .... kodlar
    callback();
    }

    function ikincifonksiyon() {
    .....kodlar
    }

    çalıştırmak için

    ilkfonksiyon(ikincifonksiyon); bu çalıştığında önce ilk sonra ikinci fonksiyon peşpeşe çalışır.
    Teşekkürler hocam yorumunuz için aradığım şey oydu ama sağ olsun zaten darness hocam göstermişti. PHP de ona benzer bir şey var anonim fonksiyon olarak geçiyor. Fonksiyonu değişkene isimsiz olarak atayıp çalıştırabiliyorsun. Ona benzettim ama aslında php'nin fonksiyona bir parametreden fonksiyon gönderip is_callable ile kontrol ettirip yani çağırılabilir bir fonksiyon vb ise onu çalıştırabiliyorsun. Aynı mantıkmış ama kullanımı biraz farklıymış.