草庐IT

javascript - 如何使用函数中的 async-await 从异步函数返回值?

这个问题在这里已经有了答案:HowdoIreturntheresponsefromanasynchronouscall?(44个答案)关闭2年前。如何从异步函数返回值?我试着喜欢这个constaxios=require('axios');asyncfunctiongetData(){constdata=awaitaxios.get('https://jsonplaceholder.typicode.com/posts');returndata;}console.log(getData());它返回给我这个,Promise{} 最佳答案

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

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

node.js - 使用 async/await 尝试/捕获 block

我正在深入研究node7async/await功能,并不断遇到这样的代码functiongetQuote(){letquote="Loremipsumdolorsitamet,consecteturadipiscingelitlaborum.";returnquote;}asyncfunctionmain(){try{varquote=awaitgetQuote();console.log(quote);}catch(error){console.error(error);}}main();这似乎是resolve/reject或return/throw与async的唯一可能性/awai