J'essaie d'utiliser Backbone avec Django.backbone-tastypie: Taille maximale de la pile d'appels dépassée
J'ai d'abord pris l'exemple local de travail de Backbone de todomvc: https://github.com/addyosmani/todomvc/tree/master/architecture-examples/backbone
Je voulais alors utiliser le serveur au lieu du stockage local. J'ai donc choisi django-tastypie pour l'API REST. J'ai testé l'API REST avec un client REST (facteur) dans mon navigateur et cela fonctionne. Je voulais ensuite le faire fonctionner avec l'exemple todomvc. J'ai mis en place quelques choses pour utiliser le serveur et non le stockage local. J'ai la petite couche de conversion backbone-tastypie.js comme tout le monde le recommande. (Https://github.com/PaulUithol/backbone-tastypie/blob/master/backbone_tastypie/static/js/backbone-tastypie.js)
Cependant, je reçois un RangeError: taille de la pile d'appel maximal dépassé lorsque J'utilise la méthode fetch sur ma collection lorsque j'utilise la couche backbone-tastypie.js.
Une idée?
Plus de détails sur l'erreur:
a = window.App
a.Todos.fetch()
RangeError: Maximum call stack size exceeded
arguments: Array[0]
length: 0
__proto__: Array[0]
concat: function concat() { [native code] }
constructor: function Array() { [native code] }
every: function every() { [native code] }
filter: function filter() { [native code] }
forEach: function forEach() { [native code] }
indexOf: function indexOf() { [native code] }
join: function join() { [native code] }
lastIndexOf: function lastIndexOf() { [native code] }
length: 0
map: function map() { [native code] }
pop: function pop() { [native code] }
push: function push() { [native code] }
reduce: function reduce() { [native code] }
reduceRight: function reduceRight() { [native code] }
reverse: function reverse() { [native code] }
shift: function shift() { [native code] }
slice: function slice() { [native code] }
some: function some() { [native code] }
sort: function sort() { [native code] }
splice: function splice() { [native code] }
toLocaleString: function toLocaleString() { [native code] }
toString: function toString() { [native code] }
unshift: function unshift() { [native code] }
__proto__: Object
get message: function() { [native code] }
arguments: null
caller: null
length: 0
name: ""
prototype: Object
__proto__: function Empty() {}
set message: function() { [native code] }
arguments: null
caller: null
length: 1
name: ""
prototype: Object
__proto__: function Empty() {}
stack: undefined
type: "stack_overflow"
__proto__: Error
arguments: undefined
constructor: function RangeError() { [native code] }
name: "RangeError"
stack: undefined
type: undefined
__proto__: SetUpError.d
Qu'est-ce que votre look de code comme? Il y a probablement une boucle infinie qui se cache quelque part. –
Mu a probablement raison. De mon expérience (limitée) avec tastypie, une taille maximale de pile d'appel dépassée résulte d'une boucle infinie - et souvent cela remplit des ressources intégrées dans votre code tastypie. – bento
Désolé pour la réponse tardive, je n'avais plus accès à internet. J'étais en train d'essayer d'adapter l'exemple backbone de todomvc pour utiliser le serveur au lieu d'un stockage local: https://github.com/addyosmani/todomvc/tree/master/architecture-examples/backbone – Michael