草庐IT

co_await

全部标签

javascript - 使用 async/await promise 的 Node 回调

我正在尝试编写一个简单的函数,将Node样式的回调函数转换为Promise,以便我可以将它们与async/await一起使用。当前代码:functiontoPromise(ctx,func,...args){letnewPromise;args.push((err,res)=>{newPromise=newPromise((resolve,reject)=>{if(err)reject(err);else{resolve(res)};});});func.apply(ctx,args);returnnewPromise;}示例用法:constmatch=awaittoPromise(u

javascript - Async/Await 无法按预期使用 Promise.all 和 .map 函数

我有很多正在使用的async函数,但我遇到了一个奇怪的问题。我的代码,工作,看起来像:asyncmainAsyncFunc(metadata){letfiles=metadata.map(data=>this.anotherAsyncFunc(data.url));returnPromise.all(files);}anotherAsyncFunc函数如下所示:asyncanotherAsyncFunc(url){returnawaitaxios({url,}).then(res=>res.data).catch(err=>{throwerr;});}当我尝试将更多数据附加到第一个函数

javascript - 使用 await/async 从 axios 获取响应

我正在尝试从axios获取JSON对象'usestrict'asyncfunctiongetData(){try{varip=location.host;awaitaxios({url:http()+ip+'/getData',method:'POST',timeout:8000,headers:{'Content-Type':'application/json',}}).then(function(res){console.dir(res);//wearegoodhere,thereshastheJSONdatareturnres;}).catch(function(err){con

javascript - 几乎所有地方都可以使用 async/await 吗?

我目前正在编写供个人使用的小型NodeJSCLI工具,我决定尝试使用Babel的ES7async/await功能。它是一个网络工具,所以我显然有异步网络请求。我为request包写了一个简单的包装器:exportdefaultfunction(options){returnnewPromise(function(resolve,reject){request({...options,followAllRedirects:true,headers:{"user-agent":"Mozilla/5.0(WindowsNT10.0;WOW64;rv:47.0)Gecko/20100101Fi

javascript - 如何使用 async/await 将此回调转换为 promise?

以下函数从url获取图像,加载它,并返回它的宽度和高度:functiongetImageData(url){constimg=newImage()img.addEventListener('load',function(){return{width:this.naturalWidth,height:this.naturalHeight}})img.src=url}问题是,如果我这样做:ready(){console.log(getImageData(this.url))}我得到undefined因为函数运行但图像尚未加载。如何使用await/async只在图片加载完成且宽高已经可用时才

javascript - async/await 会阻塞事件循环吗?

这个问题在这里已经有了答案:Willasync/awaitblockathreadnode.js(6个答案)InJavaScript,doesusingawaitinsidealoopblocktheloop?(8个答案)关闭4年前。我正在阅读Don'tBlocktheEventLoop来自Node.js指南。有一句话说:YoushouldmakesureyouneverblocktheEventLoop.Inotherwords,eachofyourJavaScriptcallbacksshouldcompletequickly.Thisofcoursealsoappliestoyo

javascript - Request-Promise 使用 async/await 抛出 "no auth mechanism defined"

我刚刚尝试使用request-promise进行async/await并遇到了这个错误:RequestError:Error:noauthmechanismdefinedatnewRequestError(node_modules/request-promise-core/lib/errors.js:14:15)atRequest.plumbing.callback(node_modules/request-promise-core/lib/plumbing.js:87:29)atRequest.RP$callback[as_callback](node_modules/request

javascript - 如何使用 async/await 去抖动?

我有一个输入框。在用户停止输入后,我想执行一个HTTP请求并等待结果。Here'sajsbin由于jsbin不允许网络请求,因此我使用setTimeout()代替。varlog=console.log.bind(console)vardelayedResults=newPromise(function(resolve){setTimeout(function(){resolve('WoooIamtheresult!')},3000);});document.querySelector('input').addEventListener('input',_.debounce(asyncf

javascript - 与 bluebird 和 co 一起快速生成生成器功能

我正在尝试Node0.12中的一些和谐功能,特别是尝试新的生成器功能。我正在使用co(v4)、bluebird和express(v4)执行此操作,如下所示://...varfs=bluebird.promisifyAll(require('fs'));//...app.post('/test',co.wrap(function*(req,res,next){varcontents=yieldfs.readFileAsync('/etc/hosts','utf8');returnres.send(contents);}));//...根据其文档,co.wrap返回一个普通函数,该函数返回

javascript - await 是否保证在 JavaScript 中没有赋值的执行顺序?

主题。我可以说下面的两段代码是相同的吗:awaitsomeFunc()//noassignmentheredoSomethingAfterSomeFunc()和:someFunc().then(()=>doSomethingAfterSomeFunc())我试过了,看起来它们是相等的,但有疑问(例如一些优化) 最佳答案 展开DanD'sanswer(因为我花了一些时间弄清楚自己),我会再说一些关于执行流程的事情。实际上,使用await会阻塞调用它的方法的流程,直到它解析为止。假设我们有这个异步函数:constsomeFunc=(st