Articles of javascript

即使没有错误,承诺也会被拒绝。 的NodeJS

所以,我有一段使用Promises的代码,我正在使用bluebird库。 问题是,即使没有错误,我的承诺也会被拒绝。 即使是简单的console.log .then它也会完全跳过.then块 以下是使用诺言的代码: function returnMeetings(query) { return new Promise((reject, resolve) => { Meeting.find(query, (err, foundMeetings) => { if (err) { console.log("We have a error") reject(err); } resolve(foundMeetings); }) }) } 这里是使用returnMeetings函数的代码 returnMeetings(query) .then((data) => { console.log("here we are") // while (count < stopAt) { // let localData = []; // if (req.params.duration === […]

Mongodb返回旧集合

router.post('/orders/finish', function(req, res, next) { var order_id = req.body.order_id; var user_id = req.body.user_id; var table_id = ''; var result = []; mongo.connect(url, function(err, db) { assert.equal(null, err); db.collection('tables').update({id: table_id, status: true}, {$set: {status: false}}, function(err, result) { assert.equal(null, err); }); var cursorTables = db.collection('tables').find({status: false}); cursorTables.forEach(function(doc, err) { assert.equal(null, err); result.push(doc); }, function() { db.close(); […]

在nodejs中添加mongoose对象到数组

我有一个这样的图像arrays。 var newImageParams = [ { image_string: "hello", _type: "NORMAL" }, { image_string: "hello", _type: "NORMAL" } ] 我使用mongo数据库和在nodejs中,我使用mongoose,一切都很好,我可以将数据添加到mongoose表,但添加每个图像后,我试图将结果对象保存到一个数组,在console.log发生,也是正确的,但是当我返回这个数组的时候,它没有任何东西,它是空的 if (newImageParams) { for (var i = newImageParams.length – 1; i >= 0; i–) { // allImages[i] var newImage = new Image(Object.assign(newImageParams[i], {bike: bike._id})); newImage.save(function(err, image){ console.log(image); allImages.push(image); console.log(allImages); }); } } 这就是我正在做的事情,一切都是正确的,在控制台好,但当我最后回来, res.json({bike: bike, images: […]

无法从React客户端向Node.js websocket服务器发送消息

我有以下代码作为服务器: var http = require('http'), cors = require('cors'), connect = require('connect'), WebSocketServer = require('ws'); var DataController = function() { this.PORT = 8090; this.startWS(); this.startServer(); } DataController.prototype = { // code to start server… getMessage: function(_message) { var that = this, message = JSON.parse(_message), msgName = message.name; console.log('new message ' + msgName); switch(msgName){ case 'start': // […]

如何获取callback函数的返回值

我想要做一个API请求,并在我的网站上的表格中显示正文。 我正在使用Node.JS,React和Request。 这是我的代码: var requestResult = Request.get('https://test.ipdb.io/api/v1/assets/?search=asdf', (err, res, body) => { return body; }); 这显然不起作用。 我可以console.log(正文),但我希望API回应在callback函数外可用。 那可能吗?

Node.js页面刷新时不加载

我想创build一个简单的Node.js服务器,并用pipe()方法发送数据。 但我有一个问题。 服务器第一次启动时加载页面,但是当我刷新页面时,页面变为空白。 我的意思是没有加载数据。 为什么会发生? var http = require('http'), fs = require('fs'); var myReadStream = fs.createReadStream(__dirname + '/input.txt', 'utf8'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); myReadStream.pipe(res); }).listen(3300);

从angular度控制器发布到节点

好吧,我不明白这是怎么回事,在本地工作,但不在我的服务器上。 我有一个angular度控制器发布到我的节点服务器。 每次我尝试运行触发我得到的post的function POST http://www.mysite.co.uk/mm3/back-end/savephotos 404(未find) 我真的失去了,我改写了5次我找不到问题。 如果有人可以看到哪里出错了,请帮忙。 angular度控制器 MM3 \ JS \ controller.js //all photos've been pushed now sending it to back end $timeout(function () { $http.post('back-end/savephoto', $scope.photosToPhp).then(function (success) { $scope.generating = false; $scope.generateBtn = 'Generate'; //creating mock up gallery for (var x = 0; x < success.data.photos; x++) { var file = '/mm3/tmp/' […]

使用asynchronous/等待不工作

我有一个function,它做asynchronous数据库search操作。 var get_all_channels = function { return new Promise(()=> { db.find({type:'pricing'},{channel_name:1},function(err,docs){ if(err) return err; var c = [] docs.forEachOf(function(ch){ c.push(ch['channel_name']) }) return c; }) }) } async function send(){ return await get_all_channels() } function calculate(){ send().then(res => alert(res)) } 这里,上面的function不起作用。 我不知道为什么? 请帮我修复这个function。

ReactJS输出将不呈现给HTML,但在控制台日志中起作用

我有一个search框,更新this.state.chebi_results与一个JSON对象onSubmit()。 一切似乎工作,除非我尝试呈现输出到HTML。 我试图把我的输出呈现为一个无序列表。 我的控制台日志显示正是我想要的。 为什么HTML不被更新? chebiResults=()=>{ return( <div className='search_results'> <ul> {this.state.chebi_results.forEach((element)=>{ <li>{element.name}</li> console.log(element.name) })} </ul> </div> ); } render(){ return ( <div className='ontology_tool'> <div className='wraper'> <div className='search'> <div className='search_tool'> <form onSubmit={this.handleSearch}> <input type="text" name="query" value={this.state.form_query} onChange={this.setQuery}/> <input type="Submit" value="Submit" /> </form> </div> {this.chebiResults()} </div> <div className='selected'> </div> </div> </div> ); }

以json格式将.json格式的html格式的数据保存在.json文件中,并用javascript表示

新手在节点和expression我正在从HTML格式的用户input,并试图追加或推入一个.json文件。 我已经使用了jsonfile npm-package,但是它不是json的数组格式 代码附加 – var express = require('express'); var app = express(); //jade –> ejs –>html app.engine('html', require('ejs').renderFile); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'html'); var jsonfile = require('jsonfile'); var file = './userdata.json' //trying to write via form to json app.post('/gettingdata', function(req, res) { var user_id = req.body.usrid; var token = req.body.usrphone; var geo = […]