Tôi mới sử dụng nodejs, nhưng đã có chương trình máy khách js đang hoạt động, trong Firebase phiên bản 3.0.2. Nó chỉ ra tôi cần một máy chủ để làm một số điều đơn giản không thể trong một khách hàng js.Ứng dụng Nodejs với Firebase mới không truy xuất các mục cơ sở dữ liệu
Khi tôi thử điều cơ bản này trong nodej, không có gì xảy ra - dữ liệu trong cơ sở dữ liệu không bao giờ được truy xuất và chương trình máy chủ nút tiếp tục chạy mà không có lỗi. Chương trình máy chủ (server.js) như sau:
var firebase = require("firebase");
var myApp =firebase.initializeApp({
serviceAccount: "xxx/xxx.json",
databaseURL: "https://xxx.firebaseio.com"
});
firebase.database().ref().on('value', function(snapshot) {
console.log("urls value changed"); // NEVER GETS HERE
console.log(snapshot.val());
});
Cơ sở dữ liệu được tải với dữ liệu và điều này đang cố gắng nhìn vào thư mục gốc. Khi tôi thêm các mục vào cơ sở dữ liệu thông qua giao diện điều khiển, vẫn không có gì xảy ra. Các giá trị ref() cụ thể hơn không có hiệu lực.
Tôi đang sử dụng phiên bản nút v4.4.4. Chương trình được gọi tại dòng lệnh (trên MBP/OSX) với "node server.js".
Tôi đã dành hàng giờ cố gắng tìm ra những gì tôi đang làm sai - có thể là điều ngu ngốc! Nhờ sự giúp đỡ trước.
Rất có thể chương trình của bạn chỉ đơn giản là thoát trước khi (không đồng bộ) 'on()' nhận giá trị từ máy chủ. Vì vậy, gọi lại của bạn không bao giờ được gọi. Xem ví dụ câu trả lời này về cách giữ cho quá trình còn sống: http://stackoverflow.com/questions/23622051/how-to-forcibly-keep-a-node-js-process-from-terminating –
Tôi gặp vấn đề tương tự , Tôi cũng đã thử nghiệm bằng cách sử dụng dự án nhanh chóng của họ https://github.com/firebase/quickstart-nodejs/tree/master/database và vẫn không có may mắn. Tôi nghĩ rằng đó là một lỗi trên kết thúc của họ – garrettmac
@FrankvanPuffelen: quá trình không bao giờ thoát - nó dường như đang chờ đợi sự kiện cơ sở dữ liệu, nhưng không bao giờ nhận được nó. – DavidG