我正在使用Firebase作为后端实现AngularJS Web应用程序; 它也应该脱机工作; 多用户同步问题应该非常有限,因为app - by design - 只允许离线时的新数据条目.
我了解Firebase具有脱机功能,从某种意义上说,客户端可以承受临时网络连接故障:任何写入操作都将被延迟并缓存,直到网络再次出现.
我问是否存在任何可能性(或者是否计划实施它)以扩展Firebase离线功能,以使客户端能够在本地缓存服务器上(部分)数据的快照,从而为客户提供完整的离线体验,也提供读取操作.
我看到第三部分Firebase包装器存在,但它的文档非常"有限"(要善待...... :-).一个原生解决方案应该是首选...
更新:Frank van Puffelen发表评论后,我更有资格证明我的问题:
*Firebase本身是否支持其Web API中的脱机数据访问,或者是否会很快支持?*
在 Vue3 中的模板中使用 Pinia 操作可以给出
未捕获的类型错误:$setup.[storeName].[actionName] 不是函数
我做错了什么还是预期的行为?似乎没有其他人有同样的问题。谷歌搜索没有透露任何信息。
我正在使用新组件
我希望做的是确保在数据库模式中维护外键关系,但出于性能原因,不强制执行约束或产生任何索引开销.它的目的纯粹是为了记录这种关系.这通常被称为"合成关系".
我是C#Moq(过去使用过Rhino Mochs)的新手,需要测试一系列对同一方法的调用.我发现这个很酷的解决方案可以测试一系列返回值:
http://haacked.com/archive/2009/09/29/moq-sequences.aspx/
public static class MoqExtensions
{
public static void ReturnsInOrder<T, TResult>(this ISetup<T, TResult> setup,
params TResult[] results) where T : class {
setup.Returns(new Queue<TResult>(results).Dequeue);
}
}
Run Code Online (Sandbox Code Playgroud)
我需要做的是在对同一方法的一系列调用中测试作为参数发送的值(而不是它返回的值).
粗略轮廓......
var expression = new MyExpressionThing();
processor.Setup(x => x.Execute(expected1)).Verifiable();
processor.Setup(x => x.Execute(expected2)).Verifiable();
processor.Setup(x => x.Execute(expected3)).Verifiable();
expression.ExecuteWith(processor.Object);
processor.Verify();
Run Code Online (Sandbox Code Playgroud)
这是我尝试过但我得到的例外情况:
"System.ArgumentException:无效的回调.带参数的方法(String,Object [])上的设置无法使用参数(String)调用回调."
// Arrange
var processor = new Mock<IMigrationProcessor>();
IList<string> calls = new List<string>();
processor.Setup(p => p.Execute(It.IsAny<string>()))
.Callback<string>(s => calls.Add(s));
// Act
var expr = new ExecuteScriptsInDirectoryExpression { SqlScriptDirectory …Run Code Online (Sandbox Code Playgroud)