Это похоже на ошибку какой-то программы 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)
, если вы действительно хотите, чтобы предупреждение исчезло.Лично я не добавляю ненужный код только для того, чтобы нерелевантные предупреждения о потерях пошли своим чередом.Я бы лучше отключил ошибочное предупреждение.