gpt4 book ai didi

javascript - WinJS:保存重要信息的最佳方法

转载 作者:行者123 更新时间:2023-12-03 07:23:33 25 4
gpt4 key购买 nike

我有一个为我的业务创建的 Windows 应用商店应用。我的企业已经成功使用它几个月了,但我们在读取保存的数据时偶尔会遇到错误;找到一种方法来最小化这些数据保存和读取错误是非常非常重要的。

具体来说:我的应用程序本质上是一个时间表应用程序:员工可以使用我的应用程序登录和下类。我将每个类次保存到 Azure 数据库,但由于互联网不可靠,我将类次对象以 JSON.stringify 格式保存到 localdata 中的文件中。我使用此函数来写入信息(并且每当轮类开始或结束时我都会写入文件):

            jsonWrite: function (fileName, object) {
return localFolder.createFileAsync(fileName, Windows.Storage.CreationCollisionOption.openIfExists)
.then(function (file) {
return Windows.Storage.FileIO.writeTextAsync(file, JSON.stringify(object));
})
}

我使用这个函数来读取应用程序再次启动时加载的信息:

            jsonRead: function (fileName) {
return localFolder.createFileAsync(fileName, Windows.Storage.CreationCollisionOption.openIfExists)
.then(function (file) {
return Windows.Storage.FileIO.readTextAsync(file)
})
.then(function(text) {
return text ? JSON.parse(text) : null;
})
},

只有极少数情况下,我会在写入文件时遇到错误。稍后,当应用程序再次启动并且其中一个文件采用非 JSON.parsable 格式时,我发现了该错误。

现在,最明显的解决方案(但不正确的解决方案)是为不正确的文件读取提供某种错误处理程序,以初始化它无法读取的文件的数据。但我不能这样做,因为如果文件不可读,这意味着员工可能已经工作的轮类已经丢失 - 我不能只是默默地失败;我需要知道这些数据已经丢失,因为它显然非常重要,到目前为止,我已经允许应用程序在极少数情况下崩溃(这种情况在 5 个月内可能发生了 3 次)。

我读过有关其他数据存储解决方案的信息,而不仅仅是将文本写入文件 - IndexDB、存储容器等。

鉴于我最多可以保存 32Kb 的数据,最合适的选项是什么?如何避免数据丢失?

最佳答案

这绝对是一个奇怪的解决方案。 IndexedDB 可能是您最好的选择。不确定如何在没有 Try/Catch 异常的情况下避免数据丢失。

有没有办法将数据存储在本地,直到您可以将其与在线数据库进行比较,进行比较,然后使用您认为最好的那个?

是否可以向最终用户发出文件未正确保存的警告,从而要求他们再次输入信息?

关于javascript - WinJS:保存重要信息的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36100853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com