【发布时间】:2021-09-20 16:42:45
【问题描述】:
我在代码的async (req, res) => { 部分收到一个奇怪的错误。错误信息是
“类型参数'(req: Request, res: Response) => Promise
' 不能分配给类型为 '(req: 请求,响应:响应)=> void |承诺'。类型 'Promise ' 不可分配给类型 'void | 承诺'。类型 'Promise ' 不可分配给 输入“承诺”。类型“响应”不可分配给类型 '无效'.ts(2345)"
我注意到,当我将res 与点运算符一起使用时,就会出现这个问题。我曾经将这样的代码部署到 Firebase Functions 没有问题。我从头开始设置开发环境并使用 eslint 而不是 tslint。打字稿或任何禁止编译和部署代码的 lint 是否有变化?也许是我的 eslint 中的一个设置?
我唯一怀疑的是我需要定义函数的返回类型。但无论如何都找不到定义返回类型。
exports.fetchQuestionSet2 = functions.https.onRequest(async (req, res) => {
const a = 0;
console.log(a);
const test = req;
console.log(test);
console.log(res);
if (req.method === "PUT") {
return res.status(403).send();
} else {
return res.send({});
}
});
【问题讨论】:
标签: node.js typescript firebase google-cloud-functions