【发布时间】:2020-11-27 16:17:05
【问题描述】:
我正在使用 apollo 服务器扫描站点的站点地图。但是当我从操场发送请求时,它会在不等待函数完成的情况下给出结果。我怎样才能保持扫描结果?以及如何在客户端立即显示扫描的站点 url 数组?
如果我使用graphql订阅,我需要将数据一一保存。这将是很多数据。
注意:系统正在运行,数据正在保存在 mongoose 中。
scanSitemap: async (parent, { id, data }, { WebLink }) => {
let dataset = [];
const generator = await SitemapGenerator('https://example.org', {
stripQuerystring: false,
filepath: null
});
generator.start();
generator.on('add', (url) => {
dataset.push(url);
console.log(dataset);
});
generator.on('done', () => {
return new WebLink({
status: 1, domain: 'test', websiteId: id, urls: dataset
}).save();
});
},
【问题讨论】:
标签: node.js graphql apollo-server