2015-04-06 3 views
0

Я использую Bookshelf, и я хочу сделать что-то вроде этого:Как получить коллекции JSON с помощью Bookshelf

function myfunc() { 
    this.vals = Accounts.forge().fetch(); 
} 

я могу получить объект коллекции, но я не могу назвать .toJSON на нем хранить в этом. Что мне не хватает? Я могу получить доступ к коллекции в .then() обещание:

.then(function(collection) { 
    console.log(collection.toJSON()); 
}) 

Как я могу хранить этот JSON в this.vals?

ответ

4

Если вы правильно поняли, вызов fetch() возвращает обещание, которое выполняется через then(). Сам объект обещания не имеет метода toJSON(). Вам понадобится примерно следующее:

function myfunc() { 
    this.vals = Accounts.forge().fetch() 
     .then(function(accounts) { 
      return accounts.toJSON(); 
     }); 
}