草庐IT

await-async

全部标签

javascript - Node 版本 8 中 Async/Await 的性能指南

async/await在node版本8中可用。代码在nodejs中首次在native中是线性的。那很好。之前的许多文章声称,在v8javascript引擎中,带有try/catchblock的函数没有被优化。现在,async/await需要try/catchblock来处理错误。那么,作为开发人员需要做些什么来保持相同的性能? 最佳答案 try/catch在提交9aac80f中收到TurboFan优化适用于V85.3(Nodev7.x及更高版本)。这意味着try/catch性能不佳的历史说法不再成立。来自V8blogpost:Int

javascript - 编写 ASYNC CPP nodejs (0.5.3+) 模块

我正在寻找一种方法来为当前版本(0.5.9)的NodeJs构建c++模块。通过使用以下教程并从Nodenode_file.cc中抽象出来,我能够自己为Node0.5.3构建一个模块。https://github.com/jedp/node-rot13/blob/master/src/rot13.cpp但是在Node0.5.4中,一些API肯定发生了变化,因为我不再能够使用eio_*扭曲函数了。查看node_file.cc我发现eio_*包装已被新的ReqWrap类替换。例如在这个宏中:https://gist.github.com/1303926不,我想知道编写异步扩展的最佳方式是什么

javascript - 优雅地处理 `await` ed Javascript Promise 上的拒绝

ES2017async/await的一个很好的模式是:asyncfunction(){try{varresult=awaitsome_promised_value()}catch(err){console.log(`Thisblockwouldbeprocessedinareject()callbackwithpromisepatternsbutthisisfarmoreintuitive`)returnfalse//orsomethinglessobtuse}result=do_something_to_result(result)returnresult;}能够处理这样的错误真是太

javascript - 使用 Node.js、Async 和 Formidable 处理错误

在下面的代码片段中,我想验证第一个异步方法中的字段。如果它们无效,我想立即向用户返回一个错误。我该怎么做?varform=newformidable.IncomingForm();async1.series([function(callback){form.parse(req);form.on('field',function(name,val){//Getthefields});form.on('fileBegin',function(name,file){if(file.name!==""){file.path=__dirname+'/upload/'+file.name;}});

javascript - 在 promise 链中使用 await

我刚刚升级到Node8,想开始使用async/await。我遇到了一个错误,我花了一段时间才解决,实际上我只是想知道是否有更优雅的方式。我不想在此时重构整个函数,因为它会导致所有二次重构。asyncdoSomething(stuff){...returnfunctionThatReturnsPromise().then((a)=>...).then((b)=>...).then((c)=>{constuser=awaitsomeService.createUser(stuff,c);user.finishSetup();});};有没有办法能够在promise链中使用await而不必将

javascript - Async.js - 并行真的是并行的吗?

据我所知:Javascript是单线程的。如果您推迟执行某些过程,您只需安排它(排队)在线程空闲时运行。但是Async.js定义了两个方法:Async::parallel&Async::parallelLimit,我引用:并行(任务,[回调])Runanarrayoffunctionsinparallel,withoutwaitinguntilthepreviousfunctionhascompleted.Ifanyofthefunctionspassanerrortoitscallback...parallelLimit(tasks,limit,[callback])Thesamea

node.js - 需要一个正确的 eslintrc 用于 async/await - 使用 7.6+ nodejs

使用最新版本的nodejs7.6+我开始使用async/await。我使用的是jshint,但从我读到的内容来看,他们目前确实支持这种语法,并且有些人建议使用eslint。好吧,我设置了eslint,但是啊……它也标记了异步函数。解析错误:意外的token初始化(致命)我知道没有任何问题,因为我的代码运行良好,它只是linter。如果我注释掉一个异步函数,它只会标记下一个函数。事实上eslint只标记第一个发现有这个错误的异步,而不是所有的(那是怎么回事?)这是使用初始化向导创建的eslintrc文件。我希望只为env请求node和es6就足够了......显然不是。module.ex

javascript - 取消 componentWillUnmount 方法中的所有 Subscriptions 和 Asyncs,如何?

由于异步方法问题,我收到一条错误消息。在我的终端中,我看到了:Warning:Can'tcallsetState(orforceUpdate)onanunmountedcomponent.Thisisano-op,butitindicatesamemoryleakinyourapplication.Tofix,cancelallsubscriptionsandasynchronoustasksinthecomponentWillUnmountmethod.-node_modules/fbjs/lib/warning.js:33:20inprintWarning-node_modules

javascript - 使用 await 时出现意外的标识符

我目前正在尝试将async/await用于需要循环同步的函数。这是函数:asyncchannelList(resolve,reject){letquery=['channellist'].join('');this.query.exec(query).then(response=>{letchannelsRaw=response[0].split('|');letchannels=[];channelsRaw.forEach(data=>{letdataParsed=ResponseParser.parseLine(data);letmethod=newChannelInfoMetho

node.js - 在 Node 7.4 中使用 async/await

我认为Node7.4支持async/await,但是此示例不起作用:constPromise=require('bluebird');asyncfunctionmain(){awaitPromise.delay(1000)}main();结果:asyncfunctionmain(){^^^^^^^^SyntaxError:Unexpectedtokenfunction如何在Node7.4中使用async/await? 最佳答案 是的,Node.jsv7支持async-await,但它被锁定在harmony标志后面。尚未准备好生产的功