NodeJSasynchronous – 即使有一些失败,仍继续执行多个http请求

我试图做出多个HTTP请求并累积,使用以下代码在NodeJS中显示结果: const async = require('async'); const request = require('request'); function httpGet(url, callback) { const options = { url : url, json : true }; request(options, function(err, res, body) { console.log("invoked") callback(err, body); } ).on('error', function(err) { console.log(err) }); } const urls= [ "http://1.2.3.4:30500/status/health/summary", "http://5.6.7.8:30505/status/health/summary" ]; async.map(urls, httpGet, function (err, res){ if (err) console.log(err); else console.log(res); […]

在多个浏览器上运行testing(按顺序)

我目前只使用Chrome(驱动程序)进行testing。 我想用Firefox和Safari来testing它。 一个接一个,不能并行。 这是我开始testing的重要任务: gulp.task('test', function() { return gulp.src('*test/features/*').pipe(cucumber({ 'steps': '*test/features/steps/*.js' })); }); 一个简单的function文件: Feature: UI Testing UI Scenario: Check the title of the page When I open the homepage Then I should see "Test – IntApp" in the title 和步骤文件: const chrome = require('selenium-webdriver/chrome'); const webdriver = require('selenium-webdriver'); const assert = require('assert'); module.exports = […]

在NPM开始下载模块

我想知道在其他代码运行之前是否有简单的方法来下载文件。 我需要首先从我的服务器下载file.js,因为我需要在我的应用程序在不同的地方。 我知道我可以做那样的事情。 let file = fs.createWriteStream(path.join(__dirname, 'file.js')); let request = http.get("http://expample.com/file.js", function(response) { response.pipe(file); }); 但是,如果我假设正确,该文件是asynchronous写入。 所以当我需要这个文件时,我只是空的对象或错误。 那么在npm start上首先同步下载这个文件的最好方法是什么?

如何与node + express共享一个对象

我正在使用Node + express,我试图找出如何与我的模块共享主js文件中的对象实例。 我有这个代码在bellow。 var express = require('express'); //libs var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var conf = require('config'); var logConf = conf.get('log'); var winston = require('winston'); //modules var index = require('./routes/index'); var users = require('./routes/users'); var camera = require('./routes/camera'); var […]

nodejs:mysql无法访问连接查询callback中的全局variables

以下是我的代码 我从客户端JavaScript发送数据对象到这个函数的数据打印它的值 在socket.on中 和 在socket.on – > connection.query(SQL,[],函数(错误,行){数据打印在这里}) 和 在socket.on – > connection.query(SQL,[],函数(错误,行){数据打印在这里}) – > connection.query(SQL,[],函数(错误,行){数据打印未定义}) socket.on('sendmessage', function (data) { var data = JSON.parse(data); console.log(data); if (data.cuserid != '' && users_connected.hasOwnProperty(data.cuserid) && fs.existsSync(users_connected[data.cuserid]['sessionfile'])) { sql = "update hired set echat='Y' where eid=? and jobid=? and jid=? and status in ('given','finished')"; connection.query(sql, [data.cuserid, data.jobid, data.userid], function […]

Laravel 5.4推送器错误

我在Laravel 5.4中使用推送器,但是出现以下错误: WebSocket连接到'ws://ws.pusherapp.com/app/731e32c5f123456298e?protocol = 7&client = js&version = 4.1.0&flash = false'失败:WebSocket在连接build立之前closures。 Pusher错误:{“type”:“WebSocketError”,“error”:{“type”:“PusherError”,“data”:{“code”:4001,“message”:“你忘了指定集群时创buildPusher实例?应用程序密钥731e32c5f123456298e在此群集中不存在。“}}}

使用node.js通过卡列出项目的最佳方法

我是一个在chatbot新手,我正在使用微软僵尸框架。我想列出我的知识基地已经训练与项目。 什么样的卡可以用来提示用户喜欢“嘿用户,我正在用这些列表的项目1. .. 2. .. 3. ..”在此先感谢..

asynchronousNPM模块不执行数组中的每个项目的setTimeout

我正在使用asynchronousNPM模块并编写了以下程序: var async = require('async'); var arr = [1,2,3,4]; async.each(arr, function (item) { setTimeout(function () { console.log('item: ', item); }, 1000); }, function (error) { console.log('error', error); }); 我期望控制台日志每1秒后显示,但它会在1秒后立即显示所有日志。 我该如何解决?

Angular CLI和TypeScript outDir

我刚刚在这里通过Angular CLI英雄教程。 我已经遵循了所有的教程,并完成了HTTP教程。 所有关于Angular 4和TypeScript的学习都很棒,但是在整个课程中,有一件事情让我感到震惊,那就是JavaScript被编译到src文件夹中。 如果有一些关于打包部署的“下一步”教程会很好,但这可能超出了Angular的范围。 我想改变这一点,但不是100%确定我需要做的一切。 理想情况下,将编译为单独的文件夹,并包含运行该网站所需的所有文件。 我查看了tsconfig.json文件并添加了outDir设置: { "compilerOptions": { "target": "es5", "outDir": "../dist/app", "module": "commonjs", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "lib": [ "es2015", "dom" ], "noImplicitAny": true, "suppressImplicitAnyIndexErrors": true } } 当我运行npm start代码似乎构build到dist文件夹,但是当应用程序运行时,所有我在浏览器中得到的是Cannot GET / 我错过了一些东西,包括index.html – 但我不知道我需要什么文件。 所以我的问题是: 我的编译的应用程序文件夹以外的哪些文件需要运行该网站? 我可以使用Angular CLI修改项目文件来实现吗?

gulpfile只能用手表运行一次

我有这个作为我的gulpfile.js: 'use strict'; var gulp = require('gulp'); var sass = require('gulp-sass'); gulp.task( 'default', ['sass'] ); gulp.task('sass', function () { return gulp.src('./sass/theme.scss') .pipe(sass().on('error', sass.logError)) .pipe(gulp.dest('./css')); }); gulp.task('sass:watch', function () { gulp.watch('./sass/**/*.scss', ['sass']); }); 我工作和编译sass,但它停止运行,而不是看着? 我不是很熟悉如何吞咽,所以帮助真的很感激! 控制台中的输出如下所示: [13:14:29] Using gulpfile ~/public_html/mysite/gulpfile.js [13:14:29] Starting 'sass'… [13:14:31] Finished 'sass' after 1.2 s [13:14:31] Starting 'default'… [13:14:31] Finished 'default' after […]