2016-04-01 16 views
0

Bazı REST API'lerini açığa çıkarmak için Strongloop'un Loopback çerçevesini kullanıyoruz. Farklı REST varlıklarına karşılık gelen farklı geridöngü modelleri var. Geridöngü modelinde A, bir API yanıtında bir dizi döndürüyoruz. Farklı geri döngü modelinde, modelin B, böylece gibi CollectionsJS tarafından maruz SortedSet collection kullanıyor:LoopbackJS koleksiyonları ile ilgili sorunlar yaşıyorJS modülü

var SortedSet = require('collections/sorted-set'); //Start of the file 
... 
... 
//create the SortedSet instance and push values. 

Şimdi, bu ihtiyaç olmadan, model A'nın API doğru diziyi döndürür. Bu B modeline gereksinim ekledikten sonra, model A API'si dizi yerine bir nesne döndürür (anahtarlar dizi dizinleridir, değerler dizi değerleridir). Model Bir kod el değmeden kalır.

Bu yüzden benim tahminim, Loopback ve/veya NodeJS'nin de, CollectionJS'de kullanılan/kullanılan bir türü kullandığı bir tür çatışma olduğu. Ancak bu sorunu nasıl bile giderebilirim?

cevap

0

Bulunamadı! CollectionsJS, biri "toObject" olan Array prototipine bazı ek yöntemler "yerleştirir". Loopback, yanıt oluşturma sırasında tüm model özelliklerinde .toObject yöntemini çağırır. Model özelliklerinden biri de bir dizidir, yani .toObject bunun üzerinde de çağrılır. Şimdi, koleksiyon modülünü "gerektirmez" durumunda, Array prototipi, toObject yöntemiyle enjekte edilmez, dolayısıyla her zamanki dizi gösterimi, Loopback tarafından kullanılır.