Articles of async await

async调用基类的构造函数之后,无法在子类上设置属性。 NodeJS v8.2.1

你可以请帮忙了解什么可能是错误,而在父类的callback中使用承诺,然后尝试设置子类的属性? 我正在使用nodejs v8.2.1 这里是基类的例子: class CGLBase extends CAuthClient { constructor(req, res) { return new Promise(resolve => { super(req, res, (authClient) => { this.setAuthClient(authClient); resolve(this); }); }); } setAuthClient(authClient) { //setting authClient (this.auth will contain property) } } 这里的子类的例子: class СSheet extends CGLBase { constructor(document, urlRequest, urlResponse) { super(urlRequest, urlResponse); this.document = document; this.someAnotherProp = "some […]

如何使用NodeJS模块等待?

我有下面的代码,使用技术上工作(我认为 )的await模块。 var await = require('await') var sleep = require('sleep') var things = await('one', 'two'); function getData(key){ console.log("IN FUNCTION " + key); sleep.sleep(5); var data = "got data for " + key; things.keep(key, data); console.log("DONE WIH FUNCTION " + key); } console.log("start"); getData('one'); getData('two'); console.log('end'); things.then(function(got){ console.log(got.one); console.log(got.two); } ); 输出是: start IN FUNCTION one […]

节点asynchronous/等待 – 我需要尝试/赶上?

我只是玩节点asynchronous/等待,似乎如果你正在等待一个承诺,它被拒绝,它抛出。 我想知道是否有一个更清洁的模式比回到尝试/ catch块,我不知道? async function foo() { const val = await Promise.reject(); }

节点与asynchronous/等待 – 如何得到错误发生的具体行?

我有一个节点的function,看起来像这样: async someFlow() { try { func1(); func2(); await getSomeData(); func3(); } catch (e) { sentryIo.captureException(e); } } 和getSomeData()看起来像这样: async getSomeData() { //… some code await pgPromise.one('select * from some bad syntax') // line 351!! //… some code } 当pgPromise(这是与PostgreSQL交谈的库)引发错误时,错误的堆栈跟踪仅包含发生错误的pgPromise lib的内部行号 。 所以当错误被捕获并logging到Sentry.io服务时,我无法知道错误的确切路线。 我怎么能这样做,以便错误将抑制堆栈跟踪,告诉我在行351发生的错误

Koa中的asynchronous函数奇怪的问题

这是代码片段: //Category.service.js … exports.update = async (ctx, next) => { const {categoryId} = ctx.params const _category = ctx.request.body // ctx.body = {key: 'test'} const category = await Category.get(categoryId) console.log(category) ctx.body = await category.update(_category) console.log(ctx.response) } … 当我发送请求时,它返回“未find”。 但terminal打印正确的结果: Category { id: 1, name: 'Javascript', description: 'This is a test for category update.' } { status: […]

等待AWS SNS发布callback函数将值返回给调用方法

我试图发送一个文本消息,当用户请求重置他们的密码。 我想等待消息发送,以提醒用户是否成功。 我目前正在尝试做如下: async function sendResetPasswordTextMessage(req, res) { let result = {}; let phoneNumber = req.body.phoneNumber; if (phoneNumber === undefined) { return sendInvalidParametersMessage(res); } phoneNumber = phoneNumber.toString(); const userProfile = await models.UserProfile.findOne({ where: { phoneNumber: phoneNumber } }); ************************** RELEVANT CODE TO ISSUE ************************* if (userProfile) { const message = "Your username is:\n" + userProfile.username; […]

使用asynchronous时使用babel意外的令牌

使用babel 6使用async / await时获取意外标记 boot.js require("babel-core/register")({ ignore: "./node_modules" }); require("babel-polyfill"); asyncAwaitSample.js async function() { await someAsyncAction(); }() .babelrc { "presets": ["es2015", "stage-0", "react"] } 并且编译器在stringasync function() { ,它表示“意外的令牌”{“”

如何通过async / awaitasynchronous读取和汇总所有文件的数据

我知道蓝鸟或fs-promise甚至es6承诺可以做到这一点。 像下面我已经完成。 但是我想用最新的es7 async / await来实现。 我只是没有得到如何在for循环中使用asynchronous/等待(然后总结他们的结果)。 我search的大多数例子都是关于fetch / ajax.get的。 但我想要的是读取文件和汇总数据在一起。 可能有人提示? 谢谢。 var fs = require("fs"); var Promise = require("promise"); function readDir(){ var p = new Promise( function(resolve, reject) { fs.readdir( ".", function( err, files) { resolve(files); }) } ); return p; } function readFile(file){ var p = new Promise( function(resolve, reject) { fs.readFile( […]

如何从节点模块导出asynchronousfunction

我正在尝试编写一个节点模块来处理我的各种数据库调用。 我想尽可能使用asynchronous/等待,但是我遇到了一些问题。 我一直在使用承诺,并导出这些function很好。 例: function GetUsernames() { return new Promise(function (resolve, reject) { sql.connect(config).then(function () { new sql.Request() .query("SELECT [UserName] FROM [Users] ORDER BY [LastLogin] ASC").then(function (recordset) { resolve(recordset); }).catch(function (err) { reject(err); }); }); }); } 然后我输出以下内容: module.exports = { GetUsernames: GetUsernames, GetScopes: GetScopes, UpdateToken: UpdateToken, SetOwner: SetOwner }; 但是,如何使用async函数来执行node7中的async / await? 我还只是答应了吗? 我试过这样做,但是当我在代码中调用它时,它不起作用。 […]

只运行一次函数

我怎样才能调用和使用这个函数只是为了一个时间,然后再杀死函数? 调用函数: else if (msg.text == ["📠contact us📠"]) { const opts = { reply_to_message_id: msg.message_id, reply_markup: JSON.stringify({ keyboard: arrangeKeyboard(locale.keyboards[msg.text].childs, 2, msg), resize_keyboard: true, one_time_keyboard: true }) }; bot.sendMessage(msg.chat.id, "Please Write your Messages:", opts); getmessage1(); } 这是我的function,我不想在一个循环运行,我需要发送消息和杀死function。 var getmessage = async () => { // Listen for any kind of message. There are different kinds of […]