Я пытаюсь исправить свою ошибку, но я не знаю, как я могу это исправить. Я искал в интернете и попробовал некоторые решения, такие как Node UnhandledPromiseRejectionWarning , но мне не удалось это исправить.
Это моя ошибка
![enter image description here](https://i.stack.imgur.com/qI2AV.png)
А это мой код
var express = require('express')
var session = require('express-session')
var bodyParser = require('body-parser')
var request = require('request-promise')
var mongoose = require('mongoose')
require('dotenv').config()
mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true })
var citySchema = new mongoose.Schema({
name: String
})
var cityModel = mongoose.model('City', citySchema)
async function collectWeather(cities) {
var weatherData = []
for (var city_object of cities) {
var city = city_object.name
var url = `http://api.openweathermap.org/data/2.5/weather?q=${city}&units=metric&appid=e`
request(url)
var body = await request(url)
var weatherJSON = JSON.parse(body)
var weather = {
city: city,
temperature: Math.round(weatherJSON.main.temp),
description: weatherJSON.weather[0].description,
icon: weatherJSON.weather[0].icon,
}
weatherData.push(weather)
}
return weatherData
}
express()
.use(express.static('static'))
.use(bodyParser.urlencoded({extended: true}))
.use(session({
resave: false,
saveUninitialized: true,
secret: process.env.SESSION_SECRET
}))
.set('view engine', 'ejs')
.set('views', 'view')
.get('/', function(req, res) {
cityModel.find({}, function(err, cities) {
collectWeather(cities).then(function(result) {
var weatherData = {weatherData: result}
res.render('index', weatherData)
})
})
})
.post('/', function(req, res) {
var newCity = new cityModel({name: req.body.city_name})
newCity.save()
res.redirect('/')
})
.listen(4000)
Я все еще начинающий с node.js.
Заранее спасибо.