Tag: 返回

node.js:返回一个模块中的数组

im新的node.js和编程本身。 我正在尝试在其他程序中调用函数,但是我从来没有得到结果。 我调用的函数工作正常,结果是正确的,调用函数也能正常工作,但是我想返回的数组只是不返回。 该程序运行没有错误(可悲的是没有输出在控制台上)。 我查了几个教程,但无法find与我所做的不同之处。 我试图把“返回(结果)”; 在函数的结尾(在closures最后一个“}”之前),但这样做数组又是空的。 我欣赏每一个想法。 问候,尼尔斯 1. prog: calling the function: var input = require('./einlesen.js'); var output = input.einlesen('GZV.csv', ';', 1, 2, function(err, yay) { console.log(output); }); 2. prog: the function: var einlesen = function(datei, trennzeichen, zelle1, zelle2) { var result = []; //Ergebnis array beinhaltet start und endknoten var fs = […]

Node.js从一个模块传递variables/对象并返回

我正在使用一个node.js框架,最初编写get数据库密码/哈希和比较forms密码/哈希在一个路由文件。 现在我想传递一个userName到一个单独的模块。 该模块应该接受一个userName并从数据库中返回相应的密码/散列。 在将函数分解成自己的模块之前,我们返回哈希值并将其传递给下一个函数( passHash ),代码工作得很好。 现在,我已经从数据库调用分离function,我不知道如何返回哈希回到原来的function。 将函数分解为两个单独的文件,我可以成功地将userName传递给数据库模块(它将控制台loggingusername / hash ),但是我无法将用户的密码/散列返回到原始路由中的原始函数。 我已经阅读了很多关于如何使用require将“OR”返回variables/对象从一个模块传递给另一个的post,但是关于如何传递一个variables“AND”没有任何回应post函数的数据。 以下是创build这些文件时所咨询的一些资源 1.) 接受的答案很容易遵循(这是我使用的模型) 2.) 高级 3.) 例子大多数答案显示单向返回函数 4.) 似乎有答案 此外,我已经尝试在几个安排中返回密码/哈希值; 创build一个对象并返回属性。 返回对象,并将该对象分配给一个variables,并提取类似于链接4上面的属性。 以下是: 1.)模块化数据库function( databaseLoginUser.js ) 2.)调用Modularized函数的原始path( databaseLogin.js ) 3.)控制台输出(没有错误只是挂起等待下一个function) //databaseLoginUser.js var express = require('express'); var router = express.Router(); var mysql = require('mysql'); module.exports.getModuleFunction = function(userName, callback) { queryUser(userName); function queryUser(userName) { console.log('In […]

我如何做一个函数的asynchronous工作,然后完成后从该函数返回一个值?

我正在使用一个库,需要我通过一个“validation”function。 在这个函数中,我需要validation一些input,如果通过则返回true否则返回false 。 问题是,我需要检查用户是否存在数据库中的这个validation函数和mongoose调用callback与结果。 如果我在callback中返回,它只是从callback函数而不是我的validation函数返回。 … validate: function (username) { User.findOne({ username: username }, function (err, user) { if (user) // User exists so we should return false from the validate function else // User does not exist so we should return true from validate. }); } 我正在尝试使用asynchronous库来解决这个问题,但asynchronous时它也会调用一个callback! 任何帮助表示赞赏。

使用dependency injection在javascript中返回一个函数

有没有办法在javascript中返回一个函数而不调用它,但仍然指定参数? 我正在使用node.js在JavaScript中简单模仿angular的dependency injection系统 – inject()方法如下所示: var injectedFunction = module.inject(function (funcToRegister) { return funcToRegister(); }); 而module.inject()函数如下所示: var inject = function(func) { var args = resolveDependencies(func); // so 'args' is an array of function dependencies, like [Function: funcToRegister] return func.apply(null,args); // not sure how to correctly return this function! }; 目前我不知道如何返回函数与其更新的依赖项(作为参数),而不实际调用它,或只是返回一个空对象。 有任何想法吗? 谢谢!

风帆:如何从查找function返回一个值

我在js工作。 我想返回variablessequence[0].NextValue 但我没有得到它。 function AutoGenerate(tablename) { Sequence.find({TableName:tablename}).exec(function(err,sequence){ if(err) { console.log("err"); return res.negotiate(err); } else { console.log(sequence); var intCurrentNo = sequence[0].NextValue; var intNextNo = sequence[0].NextValue + sequence[0].IncrementBy; if (intNextNo < sequence[0].MinimumValue || intNextNo > sequence[0].MaximumValue) { console.log("Error While Updating UserId") return res.badRequest('Next value not between the Minimum and Maximum value'); } else { sequence[0].NextValue = intNextNo; […]

在函数内部返回真假,我有点困惑

我有这个function,例如: app.get('/', function(req, res) { var token = req.query.token; if(!token) { res.render('auth'); // Authentication } else { authorizedUsers.forEach(function(user) { if(user.id == token) { console.log('found, nickname: ' + user.nickname); return true; } }); console.log('not found'); return false; } }); 基本上它是遍历的authorizedUsers数组,并寻找entry.id等于tokenvariables的条目。 我想要做的是,如果find,返回true,并停止执行其余的app.get('/')…块。 如果没有find,显然forEach循环已经经历了所有的条目,并最终执行到“not found”的打印并return false; 。 对于我当前的代码,即使find一个条目,执行继续,我仍然得到“未find”日志。 我错过了什么? 为了简化事情,我想要做的是: 循环遍历所有授权的用户条目,将entry.id与令牌variables进行比较。 如果find,打印“find”到控制台并停止执行。 如果找不到,则在控制台上输出“not found”并停止执行。 谢谢。 编辑 迈克尔的解决scheme,这是我的工作代码: app.get('/', […]

JavaScript函数应该返回数组

我正尝试从JavaScript中的文件夹中检索特定types的文件。 我正在使用正则expression式和模块'fs'。 我试图构build的函数不返回任何东西。我可以看到数组一旦我打印它,但我不能够返回它。 我想要的是该函数应该返回这些特定文件的名称数组。 这是代码 var fs = require('fs'); var dir = '/../../'; var ext = 'yml'; function test1 () { var c = new Array(); fs.readdir(dir, function (err, list) { var re = new RegExp("^.*\." + ext + "$"); list.forEach(function(item) { if(re.test(item)) { c.push(item); } // return item; }); console.log(c) }); // return c […]

module.export函数不返回结果

我有一些问题返回模块函数的结果。 下面是我正在使用的两个文件。 当我调用导出的函数时,它返回nothings。 任何build议/修复为什么? 它是否与callback有关? 车型/ index.js module.exports = exports = function(library) { modCodes.findOne({name: library}, {modcode:1}, function(err, mc) { if (err) throw new Error(err); var db = mongoose.createConnection('mongodb://localhost:27017/' + mc.modcode + '?safe=true'); var models = { Books: db.model('books', require('./schemas/books')) } return models; }); }; books.js var Models = require('../models'); console.log(Models("myLibrary")); //return nothing