Я пытаюсь реализовать разделение задач с помощью модуля экспорта. Весь код работает, если используется без разделения ответственности, но как только я пытаюсь импортировать generateUrlArray() из const db = require('../db'), ничего не работает. Nodejs не дает мне никаких ошибок на бэкэнде. Ошибка, которую я получаю во внешнем интерфейсе, это Error: SyntaxError: Unexpected end of JSON input . Я уверен, что ошибка исходит от серверной части. Дайте мне знать, если у вас есть идеи.
контроллер.js
const db = require('../db')
exports.getWebApiList = (req, res) => {
(async function fetchDataList() {
try {
const urlArray = await db.generateUrlArray({}, { _id: 0 })
return res.send(urlArray)
} catch (ex) {
console.info(`fetchDataList error: ${ex}`)
}
})()
}
..db/index.js
const { List } = require('./models/List')
const generateUrlArray = (query, projection) => {
const dataFromDB = List.find(query, projection).select('symbol')
return linkArray = dataFromDB.map(item => {
return link = `https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=${item.symbol}&apikey=6BUYSS9QR8Y9HH15`
})
}
module.exports = { generateUrlArray }
.models/List.js
const mongoose = require('mongoose')
mongoose.Promise = global.Promise
const ParentSchemaSymbolList = new mongoose.Schema({
symbol: String
})
module.exports.List = mongoose.model('List', ParentSchemaSymbolList)
index.js файл импортирован из db папки Nodejs распознает его, если он назван index@AlexOwl dataFromDb возвращает массив
Пожалуйста, проверьте, что вы отправляете клиенту urlArray это действительно json?
@AlexOwl уже пытался не работать.
Я действительно не знаю, как вам помочь без всего окружения, я не могу воспроизвести вашу проблему.
@AlexOwl теперь беспокоится. Спасибо за попытку!
Давайте продолжить обсуждение в чате.
@AlexOwl, у тебя есть ответ. если вы не против опубликовать это, я приму это



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


const generateUrlArray = async (query, projection) => {
const dataFromDB = await List.find(query, projection).select('symbol')
const linkArray = dataFromDB.map(item => {
return link = `https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=${item.symbol}&apikey=6BUYSS9QR8Y9HH15`
})
return linkArray
}
dataFromDBчто-то возвращает? (пожалуйста, проверьте)