在Array.map函数中使用await

在迭代数组之前,我需要等待一个asynchronous函数完成,我需要等待parsing的asynchronous函数如下: static async sendEmail (from, to, subject, text) { return new Promise((resolve, reject) => { let message = { from, to, subject, text }; AMMailing.transporter.sendMail(message, function (err, response) { if (err) { reject(err); } else { resolve(response); } }); }); } 这是我在数组中迭代的方式的代码,并试图等待它解决再次迭代之前: static sendEmailInQueue (queue) { queue.map(async (person, index) => { console.log('sending email to: ', […]

无法从任何提供程序nodemailer aws加载凭据

我一直在努力寻找一个解决我的问题一段时间。 我一直在尝试使用nodemailer和nodemailer-ses-transport。 这里是nodemailer代码: var cfg = require('../config/config'); var nodemailer = require('nodemailer'); var aws = require('nodemailer-ses-transport'); var transporter = nodemailer.createTransport(aws({ accessKeyId: cfg.KEY, secretAccessKey: cfg.SKEY, default_region: cfg.REG, ratelimit: 5 })); router.post('/signup', function(req, res, next){ passport.authenticate('local.signup', function(err, user, info) { if (err) { return next(err); } // Redirect if it fails if (!user) { return res.redirect('/signup'); } req.logIn(user, […]

如何将Getter / Setter应用到对象

在定义它的时候,如何将一个getter / setter应用到一个对象本身? 例如,我想做 myobj = 123运行console.log(123) 我知道这是可能的,通过使用class extends ,但我想find一个更简单的方式, 可能在构造函数中定义getter / setter。 有谁知道如何? 这甚至有可能吗? 如果您需要更多信息,或者我不够清楚,请告诉我。 – JacobTDC

我可以连接到部署在应用程序引擎上的从本地主机部署mongoDB的谷歌云,但不能从同一个应用程序

我的应用程序是使用Mongoose为数据库编写的React和Express。 我在Google计算引擎上部署了一个bitnami mongoDB实例。 现在我试图在App引擎上部署服务器。 当我在本地运行我的应用程序,它可以很好地连接到数据库(我可以添加的东西,看看它)。 但是,当我做一个npm开始在谷歌云壳得到这个错误: 'failed to connect to server [35.196.182.249:27017] on first connect [MongoError: connection 0 to 35.196.182.249:27017 timed out]' } (node:1310) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): MongoError: failed to connect to server [35.196.182.249:27017] on first connect [MongoError: connection 0 to 35.196.182.249:27017 timed out] 这是我的代码连接: mongoose.connect(process.env.MONGODB_URI,{ useMongoClient: true }).catch(function(err){ console.log(err) }); […]

使用GitHub API编辑和添加提交消息到文件

我正在使用npm GitHub API 。 我有四块数据。 参考我想要更新的文件 我要更新的文件的path 我想要在这个文件中的新内容 我想要编辑的提交消息 另外,我可以对API进行身份validation,并有权访问此回购。 我现在如何编辑这个文件并推送这个提交? const GitHub = require('github-api') const gh = new GitHub({ token: config.app.git_token, }, githubUrl) const repo = gh.getRepo(config.app.repoOwner, config.app.repoName) repo.getRef(`heads/${config.app.repoBranch}`).then((response) => { const ref = response.data.object.sha const path = 'README.md' const content = '#Foo Bar\nthis is foo bar' const message = 'make readme foo bar' […]

nodejs – 如何使用node-opcua访问远程opc服务器?

我在github中find了一个更好的项目节点opcua,使用这个项目的简单例子可以创build一个opc服务器和客户端,并且在本地可以访问,我现在需要访问一个远程的opc服务器,提供几个参数是:IPnetworking节点(例如10.195.156.150),opc服务(例如ArchestrA FSGateway),opc组(如ArchestrA),opc TagName(例如HXi1_P201_00。Ia),我可以使用node-opcua? 谢谢! sample_server代码: var opcua = require("node-opcua"); var os = require("os"); // Let's create an instance of OPCUAServer var server = new opcua.OPCUAServer({port: 4334}); var siteName = 'site01'; var var1 = {nodeId: 'ns=4;s=hook_weight', browseName: 'hook_weight', dataType: 'Double'}; var var2 = {nodeId: 'ns=4;s=rpm', browseName: 'rpm', dataType: 'Double'}; var var3 = {nodeId: 'ns=1;s=free_memory', browseName: 'free_memory', […]

无视观察者并不反映这种变化

我有一个特定path中的4个文件夹,其中包含一个单独的文件,其中包含要忽略的文件和扩展名列表。 我使用npm模块忽略观察者, 我面对的问题是,我在任何文件夹中改变了什么,在改变后没有被反映出来,只有四个文件夹中的一个跟踪改变。 其次,当任何更改事件被触发时,忽略观察者继续为所有文件夹运行。 下面我详细解释一下。 我有4个项目文件夹:比方说 /path/to/project1 /path/to/project2 /path/to/project3 /path/to/project4 每个文件夹由两个文件组成,我想在每个项目文件夹的单独文件中提供这些文件。 /path/to/project1/.no_include /path/to/project2/.no_include /path/to/project3/.no_include /path/to/project4/.no_include 我做了一个单独的文件在每个项目的一个单独的path,我做了改变,它会反映,将触发一个事件的变化,所以要做到这一点,我已经configuration了忽略观察者模块。 config.js var ignoringWatcher = require('ignoring-watcher').createWatcher({ dirs: [ '../../path/to/project1', '../../path/to/project2', '../../path/to/project3', '../../path/to/project4', ], ignoreFiles: [ '../../path/to/project1/.no_include', '../../path/to/project2/.no_include', '../../path/to/project3/.no_include', '../../path/to/project4/.no_include' ] }); ignoringWatcher .on('modified', function (eventArgs) { // Fired for any change event (add, delete, etc.) var type = eventArgs.type; // […]

得到谷歌日历假日nodejs

我想获得谷歌日历假期 此function来自https://developers.google.com/google-apps/calendar/quickstart/nodejs 只用我的calendarID工作……….. function listEvents(auth) { var calendar = google.calendar('v3'); calendar.events.list({ auth: auth, calendarId: 'en.thai#holiday@group.v3.calendar.google.com', timeMin: (new Date()).toISOString(), maxResults: 10, singleEvents: true, orderBy: 'startTime' }, function(err, response) { if (err) { console.log('The API returned an error: ' + err); return; } var events = response.items; if (events.length == 0) { console.log('No upcoming events found.'); } […]

如何与僵尸asynchronousJavaScripttesting工作?

这个问题我创build了一个应用程序,与expressionjs和我试图用僵尸来testing它。 我已经写了一些testing来检查网页上的内容。 我已经手动检查了页面,并且正确地从我们的数据库中加载了内容。 但是,当我运行我们的testing时,我得到不可预知的结果。 这些是我们的testing。 第一个testing是失败的。 before(function(done) { models.Listing.create({name: "Studio Flat in London", text: "This is a great flat in zone one."}); models.Listing.create({name: "The Fish Market", text: "description"}); done(); }); beforeEach(function(done) { browser.visit('/', done); }); it('each property should have a title', function(done) { expect(browser.html("body")).to.include("Studio Flat in London"); }); it('each property should have a title the […]

沃森发现服务 – 查询数据收集Node.js – 通道缺失

我对Watson发现服务的响应运行一个查询,我想在我的回应中包括这些段落(默认情况下,段落不包括,使用段落=真应该包括它,但我不明白。 var queryString = {'natural_language_query':searchString}; insert(cloudantDb,"9", "Call freie Textsuche ", queryString, "-", params); return new Promise ((resolve, reject) => { discovery.query({ environment_id: 'my env id', collection_id: 'my coll id', query: queryString, passages: true, count: 3 } 有人可以帮忙吗?