问题标签 [localforage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2463 浏览

google-chrome - indexedDB 可以用完空间吗?

我将 localforage 与 indexedDB 驱动程序一起使用。我的 indexedDB 存储相当大,但我的印象是 indexedDB 从来没有真正耗尽空间,它只是使旧内容过期。

但是,在挂起 60 秒后,对 indexedDB 的大量请求都失败并出现错误:“DOMException: Transaction timed out due to inactivity.”。

如果我只是做一个简单的

在指向我的 webapp 的隐身窗口中,它工作正常。如果我在非隐身窗口中做同样的事情,我会超时。重要的是:如果我将循环大小增加到很大,即使在新的会话中,我也会遇到同样的超时问题。所以感觉有些地方不太对劲。

0 投票
1 回答
2723 浏览

angularjs - 使 Angular Web App 离线可用

我正在努力寻找解决方案以使 Angular / C# 应用程序脱机可用的一些细节。
我的想法是使用upup.js获取 Angular 中 SPA 的业务逻辑,可离线使用。upup.js 使用服务工作者来执行此操作。我将使用angular-localForage存储离线应用程序所需的数据,它使用 IndexedDB 并回退到 WebSQL 和 localStorage 以防万一。
问题是,我必须使文件和图像也可以离线使用,而不需要用户访问他们正在使用的页面,我担心最大配额。我可以使用 upup.js 存储它们并将这些文件添加为资产,或者使用 angular-localForage 将它们存储为 blob。如果我得到正确的通知,IndexedDB 现在应该是无限的?我找不到服务工作者的任何最大配额,因为 upup.js 解决方案会使用。AppCache 已被弃用,所以我不会使用它......或者我理解的东西完全错误,或者甚至还有另一个更好的解决方案?无论如何,问题是:

TL;DR:为 AngularJS 离线应用程序存储文件的更好方法是什么:angular-localForage(IndexedDB 等)或 Service Worker(upup.js),每个解决方案的最大配额是多少?还是有更好的解决方案?

0 投票
1 回答
229 浏览

angularjs - 返回 LocalForage 承诺

我想知道如何token在此查询中返回密钥

我不确定如何.then(function(value){}在标题中使用。

0 投票
1 回答
3126 浏览

javascript - LocalForage、图像和 Blob

我对 LocalForage 的使用有点困惑。我只想从 LocalForage 保存和检索图像,这就是我的做法。

关键是,我不知道这是否是使用图像的正确方法:我将它们存储为 strings, localForage 应该使用parseand stringify这个例子工作正常(当我离线时,我刷新页面,本地存储中的图像是可见的),但我看到有人使用 Image 对象或 Blob(我从来没有听说过,即时搜索并没有告诉我太多关于那)。其他人做一个 XHR 请求来下载图像,然后他们保存它。

我可以考虑使用 XHR 请求来检查图像是否已下载。这是正确的吗?

其次:有人说用blob存储更好。为什么?

请帮助我,谢谢。

编辑(多个承诺)

当我检索图像时,我必须将它们中的每一个绑定到一个<img>. 但我不知道该怎么做,承诺。因为在使用时Promise.all()我不能使用for循环(所以没有索引来将图像 src 与图像 id 绑定)。

修复 Promise.all().then()

0 投票
1 回答
163 浏览

angularjs - angularjs $watch watchExpression with promise 进入无限摘要循环

angularjs watch 方法与 watchExpression 返回一个承诺。

Typescript 调用带有 promise 的方法。

我想从 MyService 中的 localforage 承诺返回“值”以返回 $watch watchExpression 函数。

0 投票
0 回答
798 浏览

javascript - Angular localForage 返回 [object Promise]

通过“setItem”设置键/值(并检查项目是否正确存储)后,我试图获取键的值。我没有得到正确的值,而是得到以下响应:[object Promise]

检查控制台显示我通过 setItem 设置的正确值。所以,console.log(但也是一个警报)给了我正确的值。返回值给了我一个承诺:{[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}

0 投票
1 回答
241 浏览

typescript - 如何在 Aurelia-Cli typescript 项目中正确导入 localForage

我一直在尝试将 localForage 导入我使用 Aurelia-CLI 创建的 Aurelia TypeScript 项目中。根据有关添加引用的文档,我已经尝试以多种方式解决它。如果我只是在 aurelia.json 的依赖项中引用它,该库就会加载:

并将其导入:

唯一的问题是我在编译时从 TypeScript 得到大量错误。诸如此类的用法:

给我这样的错误:

但随后继续在运行时工作。我的 typings.json 中确实定义了 localforage:

TypeScript 似乎认为这实际上存在于 localForage.localforage 中,它在运行时会抛出未定义的异常,但不会出现编译时错误。我试过这样引用它:

和(根据https://github.com/localForage/localForage上的文档)

两者都不再给出编译错误,但在运行时不起作用。

0 投票
1 回答
704 浏览

javascript - 通过 ios 上的 localforage blob 加载图像时出错

我正在通过 Cordova 相机 API 在 ios 设备上抓取相机图像,然后通过localforage. 但是,似乎没有加载资源,因为单击Resources标记下的 blobSafari Web Inspector显示An error occured while trying to load resources错误,并且图像呈现为20x20白色背景而不是照片。这是我的 HTML 包装器Cordova Camera API

我们savePhoto用来保存从相机抓取的图像(在 中js/camera.js)。控制台记录blob打印出诸如blob:null/916d1852-c8c5-4b3b-ac8c-86b6c71d0e86.

我将非常感谢有关我在图像渲染方面做错了什么的指示。

0 投票
0 回答
252 浏览

javascript - JavaScript 承诺不更新变量

我在 localStorage 中有一个对象数组,我有get一个来自$http get调用的数组。我使用此代码替换localStorage数组中来自$http get

这都在 a.then()var arr = res;始终保持与最初设置的值相同。我不明白arr变量是如何没有更新的。具有正确的console.log('arr after:', arr);值,但是一旦退出循环,就会arr恢复。这是功能

0 投票
1 回答
605 浏览

angular - 将值从 localforage.getItem 分配给全局变量 - ionic2

我的 localforage 有问题,localforage 无法在成功回调中设置全局变量,但是当我console.log显示显示值时。

本地饲料数据:

代码

输出

我只想把它变成一个全局变量。而且我可以轻松使用它,例如:

我尝试过的一些方法与我的期望不符。我努力了:

将成功的承诺解析中的值分配给外部变量

如何将承诺的返回值分配给变量?

使用 promise 设置一个变量以从回调函数中获取返回值

将 then 函数中的值赋给变量 promise

[注意]我使用 Ionic 2、AngularJS 2、LocalForage

谢谢