草庐IT

async_wait

全部标签

node.js - 使用 async/await 在 firebase 中运行查询

感谢Firebase拥有addedsupportforpromises,有没有办法在async函数中运行如下查询?:consteventref=this.db.ref('cats/whiskers');constvalue=awaiteventref.once('value')运行上面的代码返回一个value的promise,我希望得到存储在cats/whiskers的jsonblob。 最佳答案 value的结果是一个快照,我们需要多1步才能得到这个值。这应该是这样的:consteventref=this.db.ref('cats

node.js - async.series 和 async.parallel 之间的区别

async.series和async.parallel有什么区别。考虑以下示例,我得到了相同的结果。async.parallel([function(callback){setTimeout(function(){callback(null,'one');},200);},function(callback){setTimeout(function(){callback(null,'two');},100);},function(callback){setTimeout(function(){varerr=newError('Iamtheerror');callback(err);},

javascript - Node.js 异步库比较 - Q 与 Async

我用过kriskowal'sQlibrary对于一个项目(网络爬虫/人类事件模拟器),并且已经熟悉了Promise、返回和解析/拒绝它们,并且库的基本异步控制流方法和错误抛出/捕获机制已被证明是必不可少的。虽然我遇到了一些问题。我的promise.then调用和回调具有形成金字塔的不可思议的趋势。有时是出于范围界定的原因,有时是为了保证一定的事件顺序。(我想我也许可以通过重构来解决其中的一些问题,但接下来我想完全避免“回调hell”。)此外,调试非常令人沮丧。我花了很多时间console.log——寻找错误和错误的来源;在我终于找到它们之后,我会开始在那里抛出错误并使用promise.

javascript - Intellij Idea 警告 - "Promise returned is ignored"与 async/await

我在Node.jsv7.3的代码中使用Express.js。在此,我创建了一个UserRouter,它将请求转发到我的UserController。我在UserController中使用async/await来执行异步调用。问题是IntelliJ给了我一个警告,说Promisereturnedfromlogin()isignored.问题是我什至没有从login()方法返回任何内容。这是代码-UserRouter.jsrouter.post('/login',function(req,res,next){userController.login(req,res);//Igetthewa

javascript - 在新的 Promise() 构造函数中使用 async/await 是一种反模式吗?

我正在使用async.eachLimit函数来控制一次操作的最大数量。const{eachLimit}=require("async");functionmyFunction(){returnnewPromise(async(resolve,reject)=>{eachLimit((awaitgetAsyncArray),500,(item,callback)=>{//dootherthingsthatusenativepromises.},(error)=>{if(error)returnreject(error);//resolveherepassingthenextvalue.}

javascript - await 仅在 async 函数中有效

我在lib/helper.js中编写了这段代码:varmyfunction=asyncfunction(x,y){....return[variableA,variableB]}exports.myfunction=myfunction;然后我尝试在另一个文件中使用它:varhelper=require('./helper.js');varstart=function(a,b){....constresult=awaithelper.myfunction('test','test');}exports.start=start;我遇到了一个错误:awaitisonlyvalidinasy

node.js - 如何正确读取带有 async/await 的文件?

我无法弄清楚async/await是如何工作的。我有点理解,但我不能让它工作。functionloadMonoCounter(){fs.readFileSync("monolitic.txt","binary",asyncfunction(err,data){returnawaitnewBuffer(data);});}module.exports.read=function(){console.log(loadMonoCounter());};我知道,我可以使用readFileSync,但如果我这样做,我知道我永远不会理解async/await并且我'就直接把问题埋了。目标:调用lo

javascript - async/await 和 ES6 生成器之间的区别

我刚刚阅读了这篇精彩的文章«Generators»,它清楚地突出了这个函数,它是一个用于处理生成器函数的辅助函数:functionasync(makeGenerator){returnfunction(){vargenerator=makeGenerator.apply(this,arguments);functionhandle(result){//result=>{done:[Boolean],value:[Object]}if(result.done)returnPromise.resolve(result.value);returnPromise.resolve(result.

javascript - 在 node.js 中使用带有 async/await 的文件系统

我想在一些文件系统操作中使用async/await。通常async/await工作正常,因为我使用babel-plugin-syntax-async-functions。但是使用这段代码,我遇到了names未定义的if情况:importfsfrom'fs';asyncfunctionmyF(){letnames;try{names=awaitfs.readdir('path/to/dir');}catch(e){console.log('e',e);}if(names===undefined){console.log('undefined');}else{console.log('Fi

javascript - 如何在顶层使用 async/await?

我一直在浏览async/await,在浏览了几篇文章后,我决定自己测试一下。但是,我似乎无法理解为什么这不起作用:asyncfunctionmain(){varvalue=awaitPromise.resolve('Heythere');console.log('inside:'+value);returnvalue;}vartext=main();console.log('outside:'+text);控制台输出以下内容(Nodev8.6.0):>outside:[objectPromise]>inside:Heythere为什么函数内部的日志信息是事后执行的?我认为创建async