Koa正在执行两次每个请求?

Koa是否有任何理由为每个请求执行两次 ? const Koa = require('koa') const app = new Koa() const index = async(ctx, next) => { console.log('Hello world!') await next() ctx.body = 'Hello world!' } app.use(index); app.listen(3000) 在我的terminal上,我得到: Hello world! Hello world! 有任何想法吗?

NodeJS – 从数组中减去数组,不删除所有重复项

标题可能没有多大意义,但是你将如何做这样的事情: a = [1, 2, 2, 3, 3, 3]; b = [1, 2, 3]; a.subtract(b); 我想这个返回[2,3,3],而不是[]类似的问题的其他答案会,只保留不在其他数组中的项目,而不是只删除有多less其他arrays。

将代码推送到远程Docker

我有一个GitLab存储库,我有一个node.js应用程序与快速,我想要“部署”此代码到我的Ubuntu服务器远程使用快速服务器,不仅本地,但我不想安装node.js我想尝试使用Docker。 我已经读了很多关于Docker的知识,而且我已经理解了基本的东西。 我的问题是,如果我在我的Ubuntu服务器上安装Docker,当我推入我的资源库时,如何在Docker上“部署”我的代码?

上传图像作为二进制数据认知服务与节点

我正在尝试将Microsoft Cognitive服务面部API传递给用户上传的图像。 该图像在上传文件夹中的服务器上可用。 微软希望这个图像是“application / octet-stream”,并作为二进制数据传递。 目前我无法find一种方法将图像传递给API,使其被接受,并继续接收“解码错误,图像格式不受支持”。 据了解,图像必须以blob或文件格式上传,但是对于NodeJs而言,我还不确定如何实现这一点。 到目前为止,我有这个,看了几个选项,但都没有工作,其他选项我试着返回simmilar错误,如“文件太小或大”,但是当手动testing通过邮差相同的图像,它工作正常。 image.mv('./uploads/' + req.files.image.name , function(err) { if (err) return res.status(500).send(err); }); var encodedImage = new Buffer(req.files.image.data, 'binary').toString('hex'); let addAPersonFace = cognitive.addAPersonFace(personGroupId, personId, encodedImage); addAPersonFace.then(function(data) { res.render('pages/persons/face', { data: data, personGroupId : req.params.persongroupid, personId : req.params.personid} ); })

通过对象内部的数组遍历对象并获取键索引nodejs

我遇到了一个问题。 我有一个内部对象数组的对象,我想遍历它,并在每个数组中,我得到我想要的具体位置。 所以我想第一个元素得到[0] ,第二个我想[0] ,第三个我想要[2]和最后一个元素我想[0] 。 values ************** [ anonymous { medium: [ 0.28, 0.26, 0.13 ] }, 4|wscontro | anonymous { medium: [ 13.51, 0.04, 0.75 ] }, 4|wscontro | anonymous { medium: [ 1527.58, 262.98, 27.4, 59.49 ] }, 4|wscontro | anonymous { medium: [ 60305.25, 0 ] } ] 4|wscontro | values […]

BotFramework:获取IntentDialog的概率分数

是否有可能得到IntentDialogs的概率分数(0-1)? 所以我想知道机器人是如何有信心回答这个问题的,在此基础上我想要执行某些操作。 我怎样才能做到这一点? 我正在使用QnAMaker和一些硬编码的对话框。 示例代码: var qnarecognizer = new cognitiveservices.QnAMakerRecognizer({ knowledgeBaseId: '', subscriptionKey: '', top:4}); var intentrecognizer = new builder.IntentDialog(); var intents = new builder.IntentDialog({ recognizers: [intentrecognizer, qnarecognizer] }); bot.dialog('/', intents); intents.matches('qna', [ function (session, args, next) { var answerEntity = builder.EntityRecognizer.findEntity(args.entities, 'answer'); session.send(answerEntity.entity); } ]); intents.matchesAny([/Test/i], [ function (session) { session.send('This is not from […]

当使用Promise.all时,Node_Redis HGETparsing为布尔数组

我一直在深入研究redis,并且使用redis进行工作,因为它只是数据存储(我知道这不是redis的预期目的,但是我从学习命令和整体使用Node上的redis获益) m使用Node_Redis。 这是我想完成的(所有在redis中):我尝试使用他们的电子邮件检索用户。 问题在于:我有一个Promise.all调用,它接收所有的电子邮件(键)并映射到HGET命令。 当Promise.all解决我期望它用一个用户对象数组解决,但它最终解决了一个布尔值数组(即[true,true,true])。 这是/users的逻辑 router.get("/", (req, res) => { client.lrange("emails", 0, 1, (err, reply) => { if (err) return console.log(err); if (reply) { Promise.all( reply.map(email => { return client.hgetall(email, (err, reply) => { if (err) return console.log(err); console.log("reply for hgetall", reply); // this prints a user object correct, but Promise.all still resolves to […]

如何编写基于Node.js的cron作业来删除MongoDB集合并发出db.copyDatabase命令

我需要编写一个夜间cron作业(使用Lambda + Node.js),将删除数据库B中的所有集合,然后使用db.copyDatabase将数据库A复制到数据库B.我知道如何通过mongo手动执行所有这些操作客户端,但不知道如何在JavaScript中做到这一点。 理想情况下,最好使用https://mongodb.github.io/node-mongodb-native/来完成,尽pipe我没有看到调用诸如db.copyDatabase原始命令的方法。

节点caching与Redis进行简单caching

我打算在Node.js应用程序中使用caching,以避免数据库读取操作。 只有less量的数据(而不是每次从数据库读取相同的数据)。 我打算在每台服务器上都有一个本地caching。 我应该去Node Cache( https://www.npmjs.com/package/node-cache )还是Redis? 哪个会更快更高效?

如何在NoSQL和SQL之间进行select?

我的问题是,我想学习nodejs / express,并做一个超级简单的Web项目。 这将是一个数据库与表:用户,video_games,类别。 该网站将只显示游戏列表(只是一个例子)。 在这种典型的情况下,什么会更有效:Mysql或MongoDB(SQL或NoSql)?