我正在构建一个社交网络 - 为此我使用 Node.js。我是这个主题的新手,这是我关于这个主题的第一篇文章,如果您理解我,我会很高兴。在我的社交网络中,我想使用一种包含在“npm”kmeans 算法中的算法。我尝试将函数返回给我的内容保留在变量中,然后继续进行计算。我认为这个问题很小,但我坐了几个小时却无法解决。我正在添加到目前为止我所做的代码://kmeans.js fileconst kmeans = require('kmeans-engine');exports.addUserKmeansMatch = (req, res) => { const engineers = [ // frontend engineers { html: 5, angular: 5, react: 3, css: 3 }, { html: 4, react: 5, css: 4 }, { html: 4, react: 5, vue: 4, css: 5 }, { html: 3, angular: 3, react: 4, vue: 2, css: 3 }, // backend engineers { nodejs: 5, python: 3, mongo: 5, mysql: 4, redis: 3 }, { java: 5, php: 4, ruby: 5, mongo: 3, mysql: 5 }, { python: 5, php: 4, ruby: 3, mongo: 5, mysql: 4, oracle: 4 }, { java: 5, csharp: 3, oracle: 5, mysql: 5, mongo: 4 }, // mobile engineers { objc: 3, swift: 5, xcode: 5, crashlytics: 3, firebase: 5, reactnative: 4 }, { java: 4, swift: 5, androidstudio: 4 }, { objc: 5, java: 4, swift: 3, androidstudio: 4, xcode: 4, firebase: 4 }, { objc: 3, java: 5, swift: 3, xcode: 4, apteligent: 4 }, // devops { docker: 5, kubernetes: 4, aws: 4, ansible: 3, linux: 4 }, { docker: 4, marathon: 4, aws: 4, jenkins: 5 }, { docker: 3, marathon: 4, heroku: 4, bamboo: 4, jenkins: 4, nagios: 3 }, { marathon: 4, heroku: 4, bamboo: 4, jenkins: 4, linux: 3, puppet: 4, nagios: 5 } ]; kmeans.clusterize(engineers, { k: 4, maxIterations: 5, debug: true }, (err, result) => { res.json(result.clusters) .then((data) => { let resultCluster = data; //<--- I want to perform a calculation on the object and then return it. res.json(resultCluster) }) .catch((err) => { console.error(err); return res.status(500).json({ error: err.code }); }); })};问题是:我想将 kmeans.clusterize 函数返回的信息插入到 resultCluster 对象中。我无法将信息输入到 resultCluster 中。然后我想使用 resultCluster 执行计算并返回我将在 resultCluster 计算中得到的结果。
1 回答
青春有我
TA贡献1784条经验 获得超8个赞
您调用了res.json()
两次,并且无缘无故地使用了 Promise 语法。应该很简单
kmeans.clusterize(engineers, { k: 4, maxIterations: 5, debug: true }, (err, result) => {
if (err) {
console.error(err);
res.status(500).json({ error: err.code });
} else {
const data = result.clusters;
… // perform a calculation on the object
res.json(data);
}
})
添加回答
举报
0/150
提交
取消