【发布时间】:2021-12-10 11:26:57
【问题描述】:
我尝试从 API 返回 node.js 中的数据,但我遇到了问题,因为我需要一个异步函数,我无法确定正确使用承诺,我已经尝试了一切并且我无法将结果放入返回中,只能在 console.log 中,有人帮助我吗?
const express = require('express')
const MFA = require('mangadex-full-api')
module.exports = {
async indexManga(req, res) {
const mangalist = MFA.login('DarksGol', 'R@ul1605', './md_cache/').then(async () => {
manga = []
await MFA.Manga.search('Kiss').then(results => {
results.forEach((elem, i) => {
let obj = {}
obj.status = elem.status
obj.title = elem.title
manga.push(obj)
})
}).catch(console.error)
return manga
}).catch(console.error)
console.log(await mangalist)
return mangalist
}
}
没有发生错误,只是根据请求无限加载
const express = require('express')
const routes = express.Router()
const searchManga = require('../src/controllers/searchManga')
routes.get('/searchManga', searchManga.indexManga)
module.exports = routes
【问题讨论】:
-
分享这个导出的require文件代码,这个导出函数的使用
-
你能告诉我们你是怎么打电话给
indexManga的吗? -
顺便说一句,我真的希望
R@ul1605不是你的真实密码。如果是,您需要立即更改。 -
这不是我的密码!我相信问题不在我的索引调用中,因为我已经进行了另一个回调来测试我的路由并且它运行良好,如果问题不是异步的并且等待函数,返回是一个承诺,所以返回尝试在实际完成之前发送一些东西!但我不知道如何解决这个问题!
-
@Raul 不确定 DarksGol 是谁,但他的密码确实有效。你从哪里得到这个代码?向作者报告该事件。
标签: javascript node.js promise return