2016-09-06 5 views
0

У меня есть существующее приложение Firebase (которое было создано для быстрого прототипирования и которое теперь стало большим, я не намерен двигаться, потому что существующие зависимости, а также потому, что простота использования и аутентификации связаны), и я Я пытаюсь создать Rest API с помощью FeatherJS.FeathersJS с архитектурой Firebase

Кажется, что очень просто работать с FeathersJS, если вы используете стандартную базу данных (MongoDB и т. Д.). Как интегрировать Firebase с перьями, сохраняя лучшие практики на месте (Service Architecture, AOP)? Могу ли я переопределить службу в Feathers и сопоставить ее с моей конечной точкой Firebase Rest?

Я создал индивидуальное обслуживание в перьях и пытался это сделать:

get(id, params) { 
    return Promise.resolve(FirebaseRef.child(id).once('value')); 
    } 

я получаю:

Converting circular structure to JSON error 

Это то, что я делаю правильно?

ответ

1

Это сработало:

return Promise.resolve(FirebaseRef.child('userId1').once('value').then(function (snap) { 
      return snap.val(); 
     })); 

Я до сих пор не уверен, если это то, как я бы лучше интегрировать Firebase с FeathersJs

+2

не слишком уверен в интеграции Firebase с FeathersJs, но верно 'FirebaseRef.child (ид) .once ('value') 'возвращает обещание без необходимости обертывания в' Promise.resolve() '? Если это так, тогда вы можете написать 'return FirebaseRef.child ('userId1'). Once ('value'). Then ((snap) => snap.val());' –

+0

Привет, следуя вашему методу, я попытался сделать это: FirebaseRef.push (данные). Then ( (reference) => reference.once ('значение'), затем ( (snap) => snap.val())); вместо Promise.resolve (FirebaseRef.push (данные) .then (функция (ссылка) { возврата reference.once ('значение') затем (функция (снимок) { возврата snapshot.val(); . }); })); Звонок get застрял после нажатия, вы можете сказать мне, что я делаю неправильно в цепочке двух вызовов? –

+0

nvm это работает Я забыл возвращение, спасибо –