我在第11行和第12行中遇到两个错误。
期望的catch()或返回[promise / catch-or-return]并且每个then()应该返回一个值或抛出[promise / always-return]
我正在尝试将ExpressJS API部署到Firebase托管
const functions = require('firebase-functions');
const express = require('express');
const app = express();
app.get('/api', (req, res) => {
var qu = req.param('q');
const DuckDuckScrape = require("duck-duck-scrape");
const ddg = new DuckDuckScrape();
var search = ddg.search(qu, -1, "en-us");
search.then((data) => {
res.send(data)
}) ;
});
exports.app = functions.https.onRequest(app);
请通过解决问题来帮助我。
答案 0 :(得分:0)
这似乎是某种皮棉程序的错误,而不是实际的Java解释器的错误。如果是这样的话,那么你或许可以使棉短绒满意这样的:
const functions = require('firebase-functions');
const express = require('express');
const app = express();
const DuckDuckScrape = require("duck-duck-scrape");
app.get('/api', (req, res) => {
const qu = req.param('q');
const ddg = new DuckDuckScrape();
ddg.search(qu, -1, "en-us").then(data => {
res.send(data);
}).catch(e => {
console.log(e);
res.sendStatus(500);
});
});
exports.app = functions.https.onRequest(app);
这涵盖了几个可能的皮棉问题。首先,这里有一个.catch()
,所以不会丢失任何错误处理。其次,没有任何希望可言的是,短毛绒认为您以后可以使用它,因此它抱怨.then()
没有返回值。
如果仍然收到第二个警告,我可能会找到配置并关闭该警告,因为这里太过热情了,因为.then()
不需要返回值,但是您也可以添加一个{{ 1}}或更改为return null;
(如果您确实只是想消除警告)。我个人不会添加不必要的代码只是为了使无关的棉绒警告消失。我宁愿禁用错误的警告。