预计捕捞()或返回[承诺/追赶或回报]和每一则()应该返回一个值或抛出[承诺/总回报]
我得到的线11和12两个错误的是
预计捕捞()或返回[承诺/追赶或回报]和每一则()应该返回一个值或抛出[承诺/总回报]
我试图部署ExpressJS API,以火力地堡托管
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);
请帮我通过解决问题。
回答如下:这看起来像一个错误,从某种lint程序的,而不是从实际的Javascript解释。如果是这样的话,那么你或许可以使棉短绒满意这个:
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()
需要它的过分热心的在这里,但你也可以只添加一个return null;
或更改return res.send(data)
如果你真的只是希望警告消失。我个人不添加不必要的代码只是为了让不相干的lint警告走的方式。我宁愿禁用错误的警告。