模拟Firebase客户端库的结构和模式
Mimic Firebase client library's structure and patterns
我正在考虑制作我自己的JavaScript客户端库,我喜欢Firebase格式化请求的方式。我想知道发生了什么。通过查看web指南,我找到了以下代码:
var ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog");
var usersRef = ref.child("users");
usersRef.set({
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
});
我可以看到,ref
等于一个叫做Firebase
的函数,usersRef
等于ref.child
。
我想象的是这样的:
Firebase = function(url) {
this.child = function(path) {
console.log(url);
console.log(path);
};
};
在这里,我可以看到usersRef.set
正在被调用,但我不能弄清楚这将如何或在哪里?set
是一个函数还是一个对象?我注意到firebase有set()
, update()
, push()
和transaction()
,让我认为这些是函数。
"TypeError: Cannot read property 'set' of undefined
也许我完全走错路了,我只是不熟悉这个模式。
如果检查Firebase API,您将看到child()
返回对子位置的新Firebase引用。像这样:
var Firebase = function(url) {
console.log(url);
this.child = function(path) {
return new Firebase(url+'/'+path);
};
this.set = function(object) {
console.log(object);
};
};
我已经更新了你jsbin: https://jsbin.com/nucume/2/edit?js,console
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 更改JSON对象的结构
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 如何缩短MongoDB ObjectId并在Mongoose模式中使用它
- TypeScript代码类似于揭示模块模式结构
- 用于筛选无模式集合的最快数据结构
- 如何以可扩展和可折叠的树形结构显示XML模式
- 类代码结构,使用非立即执行的模块模式变体
- Knockout JS模式用于同一页面中的多个视图模型,维护DOM结构
- 模拟Firebase客户端库的结构和模式
- 同步实例化模式——将JSON扁平化为实际的循环数据结构
- 如何在mongodb的子文档模式结构中更新数组字段
- 如何使用简单模式描述这种复杂的文档结构
- 寻求结构解释(揭示模块模式)
- 严格模式->更改了控制器结构,获取'键未定义'For In循环
- 针对特定应用程序的首选设计模式/体系结构
- 设计模式 - 你如何在JavaScript中解释这种结构