首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

firestore设置/添加功能不起作用,并且promise永远不会被解析

Firestore是一种云数据库服务,由Google Cloud提供。它是一种灵活、可扩展的NoSQL文档数据库,适用于移动应用、Web应用和服务器端开发。

针对问题中提到的"firestore设置/添加功能不起作用,并且promise永远不会被解析",可能有以下几个原因和解决方法:

  1. 权限设置问题:Firestore具有强大的权限控制功能,如果没有正确配置权限,可能导致无法进行设置或添加操作。可以检查Firestore的规则设置,确保当前用户具有足够的权限来执行所需的操作。
  2. 数据库连接问题:在使用Firestore时,需要确保正确地初始化和连接到数据库。可以检查连接代码,确保正确地引入Firestore库并使用正确的凭据进行连接。
  3. 异步操作处理问题:Firestore的操作通常是异步的,使用Promise来处理结果。如果promise永远不会被解析,可能是因为没有正确地处理异步操作的返回结果。可以使用async/await或.then()/.catch()等方式来处理异步操作,并确保正确地处理错误。
  4. 数据库操作代码问题:检查设置/添加功能的代码逻辑,确保没有错误或逻辑问题导致操作不起作用。可以参考Firestore的官方文档和示例代码,确保使用正确的API和参数进行操作。

总结起来,解决Firestore设置/添加功能不起作用并且promise永远不会被解析的问题,需要检查权限设置、数据库连接、异步操作处理和代码逻辑等方面,确保正确地配置和使用Firestore的API。如果问题仍然存在,可以参考Firestore的官方文档、社区论坛或向Google Cloud的支持团队寻求帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Vue 选手转 React 常犯的 10 个错误,你犯过几个?

这是因为 0 在 JavaScript 中是一个假值,&& 操作符短路了,整个表达式被解析为 0。...但是,它并不起作用!当我们输入一个项目并提交表单时,该项目没有被添加到购物清单中。 问题就在于我们违反了也许是 React 中最核心的原则 —— 不可变状态。...调试:如果你使用console.log 并且不改变状态,你过去的日志将不会被最近的状态破坏修改,你可以清楚的看到渲染之间的状态变化 优化:如果之前的props和state和下一个状态相同,常见的react...通过将 email 初始化为一个空字符串,确保该值永远会被设置为 undefined。 8、行内样式缺少括号 JSX 语法直观上与 HTML 很相似,但两者之间还是有一些不一样的地方。...'btn primary' : 'btn'}> 无论我们在 {} 里面放了什么,都会被认为是 JavaScript,结果将被设置为这个属性。

19510

JavaScript 编程精解 中文第三版 十一、异步编程

它注册了一个回调函数,当Promise解析并产生一个值时被调用。 你可以将多个回调添加到单个Promise中,即使在Promise解析(完成)后添加它们,它们也会被调用。...事实上,这只会导致提供给send的回调永远会被调用,这可能会导致程序停止,而不会注意到问题。 如果在没有得到回应的特定时间段内,请求会超时并报告故障,那就很好。...但随着事件来临,它们被添加到队列中,并且它们的代码被逐个执行。 由于没有两件事同时运行,运行缓慢的代码可能会延迟其他事件的处理。...map表达式在任何内容添加到列表之前运行,因此每个+ =操作符都以一个空字符串开始,并在存储检索完成时结束,将list设置为单行列表 - 向空字符串添加那行的结果。...请记住,在Promise成功或失败后,它不能再次成功或失败,并且解析它的函数的进一步调用将被忽略。 这可以简化你处理Promise的故障的方式。

2.6K20

从0到1实现Promise前言正文结束

只能从 pending -> fulfilled,或者从 pending -> rejected,并且状态一旦转变,就永远不会再变了。 所以,我们需要为Promise添加一个状态流转的机制。...总结来说,then()方法中传onRejected回调,Promise内部会默认帮你写一个函数作为回调,作用就是throw抛出reject或者try...catch到的错误,然后错误reason会被promise2...所以,我们在写Promise的链式调用的时候,在then()中可以传onRejected回调,只需要在链式调用的最末尾加一个catch()就可以了,这样在该链条中的Promise发生的错误都会被最后的...MyPromise.js MyPromise.stop = function() { return new Promise(function() {}); }; 复制代码 stop中返回一个永远执行...resolve或者reject的Promise,那么这个Promise永远处于pending状态,所以永远也不会向下执行then或catch了。

95830

如何用TensorFlow和Swift写个App识别霉霉?

喜爱之情难以言表,于是利用机器学习技术开发了一款iOS 应用,可以随时随地识别出 Taylor Swift~~~ 卖关子了,妹子开发的这款应用效果如下: ?...然后给照片添加标签。测试集用于测试模型识别训练中未见过的照片的准确率。为了让训练更省时一些,我写了个脚本重新调整了所有照片的大小,确保全部照片宽度超过600px。...设置 Cloud ML Engine 在所有照片都转为 TFRecord 格式后,我们就可以将它们上传到云端,开始训练。...用户选择照片后,会触发程序将照片上传至 Cloud Storage: let firestore = Firestore.firestore()func imagePickerController(_...然后我将添加了边框的新照片保存至 Cloud Storage,并写出照片到 Cloud Firestore 的文件路径,这样我就能读取路径,在 iOS 应用中下载新照片(带有识别框): const admin

12.1K10

4 分钟再快速过一遍 ES12 的 5 个要点~

---- 本篇译自:levelup.gitconnected.com/top-5-javascript-es12-features-you-should-start-using-now 什么叫“微卷亏...意思就是学习知识点,稍微卷一卷,也不会很累,也不会被其他人卷死,就稍微卷一卷,永远亏,甚至小赚一波,唉,很舒服~~ ES12 是今年 6 月 22 日发布的,你已经用起来了吗?...数字分隔符 数字分隔符是数字之间添加的下划线,这使得数字更可读;当代码解析时,下划线会被自动去除; 举栗 // 十进制数字,按照千位进行划分 let n1 = 1_000_000_000; console.log...userAPIKey); // This will print: d8cf946093107898cb64963ab34be6b7e22662179a8ea48ca5603f8216748767 同时,类里面也可以设置私有的...Getter 和 Setter; // 创建 Str 类 class Str { // 设置私有属性 #uniqueStr; constructor() {} //

30740

Promise必备知识汇总和面试情况

then方法接收两个参数onFulfilled和onRejected,这两个参数变量类型是函数,如果不是函数将会被忽略,并且这两个参数都是可选的。...1、无法取消Promise,一旦新建它就会立即执行,无法中途取消。2、如果设置回调函数,Promise内部抛出的错误,不会反应到外部。...在要停止的promise链位置添加一个方法,返回一个永远执行resolve或者reject的Promise,那么这个promise永远处于pending状态,所以永远也不会向下执行then或catch...方法,并且不再返回一个promise,一般用来结束一个promise链。...3、在写promise链式调用的时候,then方法传onRejected函数,只需要在最末尾加一个catch()就可以了,这样在该链条中的promise发生的错误都会被最后的catch捕获到。

42710

从0到1实现Promise

只能从 pending -> fulfilled,或者从 pending -> rejected,并且状态一旦转变,就永远不会再变了。 所以,我们需要为Promise添加一个状态流转的机制。...总结来说,then()方法中传onRejected回调,Promise内部会默认帮你写一个函数作为回调,作用就是throw抛出reject或者try...catch到的错误,然后错误reason会被promise2...所以,我们在写Promise的链式调用的时候,在then()中可以传onRejected回调,只需要在链式调用的最末尾加一个catch()就可以了,这样在该链条中的Promise发生的错误都会被最后的...MyPromise.js MyPromise.stop = function() { return new Promise(function() {}); }; stop中返回一个永远执行resolve...或者reject的Promise,那么这个Promise永远处于pending状态,所以永远也不会向下执行then或catch了。

87410

美团前端常见面试题整理_2023-02-23

在 Webpack4 中,不需要以上这些操作了,只需要将 mode 设置为 production 就可以默认开启以上功能。.../test.js' 对于以上情况,test 文件中的变量 b 如果没有在项目中使用到的话,就不会被打包到文件中。 如果使用 Webpack 4 的话,开启生产环境就会自动启动这个优化功能。...第二种情况是我们设置了setInterval定时器,而忘记取消它,如果循环函数有对外部变量的引用的话,那么这个变量会被一直留在内存中,而无法被回收。...我们要实现 PPT 自动播放的功能,只需要在每个页面的 meta 标签内设置好下一个页面的地址即可。...多个设置了 defer 属性的脚本按规范来说最后是顺序执行的,但是在一些浏览器中可能不是这样 给 js 脚本添加 async属性,这个属性会使脚本异步加载,不会阻塞页面的解析过程,但是当脚本加载完成后立即执行

1.8K10

【JS】2030- 通过可视化彻底搞懂 Promise执行逻辑

调用 reject 时的过程类似,现在 [[PromiseState]] 被设置为 “已拒绝”(rejected),并且 [[PromiseResult]] 被设置为我们传递给 reject 的值,这是...当 promise resolve 时,该处理程序会被添加到微任务队列中,并可访问 promise 解析时的值。...当 promise 解析时,这个处理程序接收到 [[PromiseResult]] 的值作为其参数,然后将其推送到 Microtask Queue 微任务队列。...类似地,我们可以通过链式 catch 来创建一个 Promise Reaction 记录来处理 Promise Reject。当 Promise 被拒绝时,这个回调会被添加到微任务队列。...由于 [[PromiseState]] 仍然是 “挂起”(pending),这个 Promise Reaction 记录会被添加到 [[PromiseFulfillReactions]] 列表中。

15310

熬夜整理最近前端面试知识点

拥有层叠上下文属性的元素会被提升为单独的一层。...这种方法解决了使用 cookie 单一验证方式时,可能会被冒用的问题,但是这种方法存在一个缺点就是,我们需要给网站中的所有请求都添加上这个 token,操作比较繁琐。...剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。环路等待条件:在发生死锁时,必然存在一个进程——资源的环形链。...主要是提供给用户界面操作,参数设置等等。它是调用内核来实现各种功能的。内核是浏览器的核心。内核是基于标记语言显示内容的程序或模块。函数节流触发高频事件,且 N 秒内只执行一次。...现在,它们已包括如推送通知和后台同步等功能。 将来,Service Worker将会支持如定期同步或地理围栏等其他功能。 本教程讨论的核心功能是拦截和处理网络请求,包括通过程序来管理缓存中的响应。

27930

校招前端二面面试题合集

使用absolute或者fixed,使元素脱离文档流,这样他们发生变化就不会影响其他元素避免频繁操作DOM,可以创建一个文档片段documentFragment,在它上面应用所有DOM操作,最后再把它添加到文档中将元素先设置...content-type:表示后面的文档属于什么MIME类型常见的 Content-Type 属性值有以下四种:(1)application/x-www-form-urlencoded:浏览器的原生 form 表单,如果设置...(2)Promise的实例有两个过程:pending -> fulfilled : Resolved(已完成)pending -> rejected:Rejected(已拒绝)注意:一旦从进行状态变成为其他状态就永远不能更改状态了...Promise的缺点:无法取消Promise,一旦新建它就会立即执行,无法中途取消。如果设置回调函数,Promise内部抛出的错误,不会反应到外部。...使用原因:结构清晰, 便于扩展可以很方便的屏蔽浏览器私有语法的差异可以轻松实现多重继承完美的兼容了CSS代码,可以应用到老项目中实现模板字符串解析功能题目描述:let template = '我是{{name

64010

前端vue 封装上传文件和下载文件的方法 导入方法直接使用

Message } from "element-ui"; // * 封装上传文件的post方法 // * @param url // * @param data // * @returns {Promise...formData = new FormData(); // 通过 append() 方法来追加数据 formData.append("file", file) return new Promise...* download的属性是HTML5新增的属性 * href属性的地址必须是非跨域的地址,如果引用的是第三方的网站或者说是前后端分离的项目(调用后台的接口),这时download就会不起作用...* 此时,如果是下载浏览器无法解析的文件,例如.exe,.xlsx..那么浏览器会自动下载,但是如果使用浏览器可以解析的文件,比如.txt,.png,.pdf....浏览器就会采取预览模式...* 所以,对于.txt,.png,.pdf等的预览功能我们就可以直接设置download属性(前提是后端响应头的Content-Type: application/octet-stream,如果为application

2.7K10

前端开发面试如何答题才能让面试官满意

因此前面设置的 key 值会被后面所覆盖,最终只会执行一次更新;函数式 : 由于 Fiber 及 合并 的问题,官方推荐可以传入 函数 的形式。...几种方式是:将 js 脚本放在文档的底部,来使 js 脚本尽可能的在最后来加载执行给 js 脚本添加 defer 属性,这个属性会让脚本的加载与文档的解析同步解析,然后在文档解析完成后再执行这个脚本文件...多个设置了 defer 属性的脚本按规范来说最后是顺序执行的,但是在一些浏览器中可能不是这样给 js 脚本添加 async属性,这个属性会使脚本异步加载,不会阻塞页面的解析过程,但是当脚本加载完成后立即执行...Promise的缺点:无法取消Promise,一旦新建它就会立即执行,无法中途取消。如果设置回调函数,Promise内部抛出的错误,不会反应到外部。...媒体查询包含⼀个可选的媒体类型和满⾜CSS3规范的条件下,包含零个或多个表达式,这些表达式描述了媒体特征,最终会被解析为true或false。

1.3K20

你不知道的JavaScript(中卷)二

严格地说,和你的程序直接相关的其他事件也可能会插入到队列中 3.setTimeout()并没有把回调函数拍在事件循环队列中,但是设置了一个定时器,当到时后,环境会把你的回调函数放到事件循环中去,所以setTimeout...因此,Promise可以按照可预测的方式组成(组合),而不用关心时序或底层结构 2.一旦Promise决议,它就永远保持在这个状态。...JS异常错误,比如一个TypeError或ReferenceError,那这个异常就会被捕捉,并且会使这个Promise被拒绝 • Promise甚至把JS异常也变成了异步行为,进而极大降低了竞态条件出现的可能...Promise,我们可以将其链接起来 • 不管从then()调用的完成回调(第一个参数)返回的值是什么,它都会被自动设置为被链接Promise(第一点中的)的完成 • 如果你调用...done()不会创建和返回Promise,所以传递给done()的回调显然不会报告一个并不存在的链接Promise的问题 • 浏览器有一个特有的功能:它们 可以跟踪并了解所有对象被丢弃以及被垃圾回收的时机

77920
领券