Wykonuję liczenie baz danych za pomocą metody serwera. Użytkownicy mogą wybrać sposób, w jaki mają wykonywać liczenie, a następnie wywołać metodę.Meteor - Anulowanie metody serwera od klienta
Mój problem polega na tym, że odliczanie może zająć trochę czasu, a użytkownik może zmienić zdanie, gdy metoda jest uruchomiona i zażądać innej liczby. Czy jest jakiś sposób, aby anulować wywoływaną metodę i uruchomić nową liczbę?
Myślałem, że this.unblock() może działać; pozwoli to na uruchomienie nowej metody, ale nie anuluje starej metody. Rozważałem także zliczanie wstępne, a następnie po prostu szukanie, ale jest zbyt wiele kombinacji selektorów.
Oto mój kod, to dość prosta:
//Server
Meteor.methods({
getFilterCount: function(oFilterSelector) {
return clMaBldgs.find(oFilterSelector, {}).count();
}
});
//Client
Meteor.call('getFilterCount', oFilterSelector, function (error, result) {
//do some stuff
});
Dowiedziałeś się? Chciałbym też wiedzieć. Jakikolwiek sposób wyświetlić listę uruchomionych połączeń? – CFrei
Niestety, nie. Jednak znalazłem tę wskazówkę w dokumentacji mongo. Jeszcze tego nie próbowałem. Może to działać w przypadku anulowania operacji db: http://docs.mongodb.org/manual/reference/method/db.killOp/ – Adam
Trochę spóźniony do gry, ale wydaje się, że 'unblock' jest nadal zalecanym sposobem udać się; odwołując się do [aktualnego przewodnika Meteora] (https://guide.meteor.com/methods.html#methods-vs-rest), 3 akapit w dół. – chazsolo