🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #51090

object + callback = problem

#51090
From: Witold Zywica
Date: Tue, 17 Apr 2012 09:50
39 lines
2192 bytes
Witam
mam taką sytuację. Mam sobie obiekt w który mam metodę render().
Metoda sprawdza czy ma co wyrenderować i jeśli nie ma to wywołuje
funkcję loadData() . Funkcja ta pobiera z serwera dane zapisane w
JSON. Samego JSON'a pobieram za pomocą jQuery ($.getJSON) z
callbackiem który jest funkcją obiektu z którego wywołuje pobieranie
danych. I tu jest problem bo callback nie widzi zmiennych obiektu w
którym jest zadeklarowany.

Przykład:
function A() {
  this.x = 3;

  this.callback(data) {
    this.x = data.x;             //<- tu jest problem bo nie widac
this.x!!!
  }

  this.loadData = function () {
    $.getJSON('skrypt.php', this.callback);
  }

  this.render = function () {
    if (this.x != 3) {
      this.loadData();
    } else {
      document.write('aaaa');
    }
  }

}

var a = new A();
a.render();


Ktoś może mi powiedzieć co robie zle? Jak w ramach obiektu pobrać
sobie dane i zapisać je do swoich zmiennych? Jak sobie radzić z
wywołaniami callbackow które zdają się być wywołaniami inline?
Technical Details
Message-ID: <fd024171-140c-4cb5-885b-4ca0ceacf3fa@z17g2000yqf.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!z17g2000yqf.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!z17g2000yqf.googlegroups.com!not-for-mail
From: Witold Zywica <witold.zywica@gmail.com>
Newsgroups: pl.comp.lang.javascript
Subject: object + callback = problem
Date: Tue, 17 Apr 2012 02:50:53 -0700 (PDT)
Organization: http://groups.google.com
Lines: 40
Message-ID: <fd024171-140c-4cb5-885b-4ca0ceacf3fa@z17g2000yqf.googlegroups.com>
NNTP-Posting-Host: 194.251.119.198
Mime-Version: 1.0
X-Trace: posting.google.com 1334656253 18788 127.0.0.1 (17 Apr 2012 09:50:53 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 17 Apr 2012 09:50:53 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: z17g2000yqf.googlegroups.com; posting-host=194.251.119.198; posting-account=GCQVcgoAAADjp-6CvhS4IjykuPgElWlE
User-Agent: G2/1.0
X-HTTP-Via: 1.1 FIESPRX005
X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19,gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit