java - 将 ID 从一个函数传递到另一个函数并返回
问题描述
我想验证并为 firebase 中的集合设置 ID。现在我只是想从集合查询中获取一个 id 号并将其发送到需要它的函数。这是需要 id# 的函数。
const data = lastCustIdGrab(); console.log(`Last number ${data}`);
这是返回的发件人。我可以在控制台日志中获取文档 ID,但不知道如何将其发回。
exports.lastCustIdGrab = () => {
db.collection('Customers')
.orderBy('createdAt', 'desc')
.limit(1);
.get()
.then((data) => {
let DOC = data.docs[0];
let ID = DOC.id;
console.log("LOOOP ",ID);
return ID;
})}
这让我得到了 LOOOP 输出中的 id,但不会返回它!我知道我可以返回数据,因为我已经使用下面的任意代码进行了测试并且它可以工作。返回将其发送回控制台,以正确登录“最后一个数字”输出。
exports.lastCustIdGrab = () => {
let ID = 12345;
return ID;
}
所以我确定我只是缺少一些简单的东西。谢谢您的帮助!
解决方案
在lastCustIdGrab
函数中你需要返回promises 链,如下:
exports.lastCustIdGrab = () => {
return db.collection('Customers') // <== See return
.orderBy('createdAt', 'desc')
.limit(1);
.get()
.then((data) => {
let DOC = data.docs[0];
let ID = DOC.id;
console.log("LOOOP ",ID);
return ID;
});
}
并且您应该注意该lastCustIdGrab
函数是异步的并返回一个 Promise,这意味着您需要执行以下操作:
lastCustIdGrab()
.then(data => {
console.log(`Last number ${data}`);
});
推荐阅读
- sql - 连接 distinct() 返回的所有字符串值
- matlab - matlab用imread添加文本
- excel - VBA 自动应用程序。用户名未正确填充
- ruby-on-rails - NameError: 未初始化的常量 ActiveRecord::Relation RSpec 配置问题
- angular - 背景图像在重新加载相同的路线时闪烁
- google-analytics - 我可以使用 Google Analytics API 来自定义我的布局吗?
- kivy - 如何增加 kivy 屏幕键盘高度
- node.js - 使用 dynamoose (nodejs) 连接到 DAX 集群
- oracle - 依次刷新2个物化视图oracle
- c++ - 使用 SIMD 根据另一个向量位值计算值的乘积