小编col*_*eau的帖子

如何在Firebase中编写非规范化数据

我已经阅读了有关Stucturing Data的Firebase文档.数据存储很便宜,但用户的时间不是.我们应该优化get操作,并在多个地方写.

那么我可能会存储一个列表节点和一个列表索引节点,两者之间有一些重复的数据,至少是列表名称.

我正在使用ES6并在我的javascript应用程序中承诺处理异步流,主要是在第一次数据推送后从firebase获取ref密钥.

let addIndexPromise = new Promise( (resolve, reject) => {
    let newRef = ref.child('list-index').push(newItem);
    resolve( newRef.key()); // ignore reject() for brevity
});
addIndexPromise.then( key => {
   ref.child('list').child(key).set(newItem);
 });
Run Code Online (Sandbox Code Playgroud)

我知道我的应用程序只在客户端上运行,如何确保数据在所有地方保持同步

为了进行健全性检查,我在我的承诺中设置了一个setTimeout,并在解决之前关闭了我的浏览器,实际上我的数据库不再一致,保存了一个没有相应列表额外索引.

有什么建议?

javascript nosql web firebase firebase-realtime-database

31
推荐指数
2
解决办法
4719
查看次数

变量引用对象的值,但在对象出现时不会更新

我正在测试Angular.js(非常喜欢它),但事实上这可能更像是一个纯粹的问题.

练习场景是我有两场比赛:

  • 玩家A与玩家B
  • 第一场比赛(球员A或B)与球员C的胜者

我在这里代表第一场比赛:

$scope.match1 = {
   p1: "Player A",
   p2: "Player B",
   winner: "to be determined"
};
Run Code Online (Sandbox Code Playgroud)

当我设置第二场比赛时,我声明一个变量,其中包含对比赛1获胜者的引用,如下:

$scope.match2 = {
   p1: $scope.match1.winner,
   p2: "Player C",
   winner: "tbd"
};
Run Code Online (Sandbox Code Playgroud)

现在我有一个按钮点击,它指定一个赢家匹配1,但是这个值没有通过匹配2(match2.p1值保持"待确定",尽管它引用了match1.winner,现在更新).

是什么赋予了?在此先感谢您的帮助或贡献!

这是一个小提琴:http://jsfiddle.net/legolandbridge/mAjX5/2/

javascript angularjs

3
推荐指数
1
解决办法
53
查看次数

重复可能不存在的匹配模式

我们有这个简单的正则表达式:

var regex = \a[bc]*\;

// matches 'ab', 'abb', 'accc'
Run Code Online (Sandbox Code Playgroud)

但这个正则表达式也匹配'aa'.换句话说,因为模式[bc]不存在,所以它重复了'a'.但意图是抓住'a'然后任意数量的'b'或'c'.

你将如何应用*(重复模式),以便只有匹配任何内容时才会对前一个字符起作用.

javascript regex

2
推荐指数
1
解决办法
70
查看次数

无法使用 Sapper 导出生成动态路由

我有一条动态路线:

routes/artwork/[slug].svelte.

一切都很好用npm run dev

但是当我npm run export缺少那些动态 slug 路线时。我没有在__sapper__/export.net 中看到它们,并且当我上传到 Netlify 时,页面也丢失了。

有什么线索可以解决这个问题吗?我错过了一些明显的东西吗?

svelte sapper

2
推荐指数
1
解决办法
1149
查看次数