gpt4 book ai didi

node.js - 无法在不使用数据库触发器的情况下使用 firebase 云功能更新 firebase 数据库

转载 作者:搜寻专家 更新时间:2023-10-30 21:10:08 33 4
gpt4 key购买 nike

我创建了一个 firebase 函数来在进行 API 调用时更新 firebase 数据库中的值。它给出了以下错误。

i  deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint

> functions@ lint /home/sumedhe/Project/mobile-atm-server/functions
> tslint --project tsconfig.json


ERROR: /home/sumedhe/Project/mobile-atm-server/functions/src/index.ts[12, 5]: Promises must be handled appropriately

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! functions@ lint: `tslint --project tsconfig.json`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the functions@ lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/sumedhe/.npm/_logs/2018-05-27T20_11_58_855Z-debug.log

Error: functions predeploy error: Command terminated with non-zero exit code2

代码

import * as express from "express";
import * as admin from "firebase-admin";
import * as functions from "firebase-functions";
const app = express();
admin.initializeApp();

app.get("/mytransactions/", async function getUser(req: express.Request, res: express.Response) {

// HERE IT GIVES THE ERROR //
admin.database().ref('/modified').set("yes");
});
exports.api = functions.https.onRequest(app);

但是,如果我将相同的代码与 firebase 数据库触发器一起使用,效果会很好。

exports.touch = functions.database.ref('/transactions/{item}').onWrite(
(change, context) => admin.database().ref('/modified').set("yes"));

最佳答案

lint 错误说:

[12, 5]: Promises must be handled appropriately

这意味着在第 12 行(从 TypeScript 转译的 JavaScript)你注意处理一个 promise 。以下函数返回一个 promise :

admin.database().ref('/modified').set("yes");

你需要为这个 promise 做点什么。鉴于这是一个 HTTP 类型的函数,您应该将与 promise 结果相关的内容发送回客户端。大概是这样的:

admin.database().ref('/modified').set("yes")
.then(() => {
res.send('ok')
})
.catch(err => {
res.status(500).send(err)
})

这取决于您想要做什么,但是您需要处理返回 promise 的方法的延续和错误,例如 DatabaseReference.set()

关于node.js - 无法在不使用数据库触发器的情况下使用 firebase 云功能更新 firebase 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50556271/

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