草庐IT

Await-Tree

全部标签

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 - d3.tree => 转换似乎不起作用

我使用d3js创建了一个树形布局图。节点可单击以切换显示子项。应该将子节点插入到预定义的位置,然后过渡到所需的位置。问题是插入坐标总是关闭的。使用Firebug进行调试时,它显示在添加新节点后,其坐标直接为x=51.42857142857142和y=200.0,即使行.attr("transform","translate(90,100)")应该改变它们(我在这里使用固定值,以进一步确定问题。我的错误在哪里?完整代码://Togglechildren.functiontoggle(d){if(d.children){d._children=d.children;d.children=n

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 - 重新导出模块对 tree-shaking 有害吗?

我和我的同事发生了争执,我们似乎无法从任何官方来源(MDN、webpack文档等)找到答案。我的研究hasn'tyieldedmuch任何一个。好像有疑问evenwhenitcomestoimporting我们的设置是Webpack、Babel和典型的React/Redux应用程序。举个例子:export*from'./actions';export*from'./selectors';export*from'./reducer';export{default}from'./reducer';这允许我将Redux模块分成逻辑部分,使代码更易于阅读和维护。然而,我的一些同事认为expor

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 - await 是否保证在 JavaScript 中没有赋值的执行顺序?

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

javascript - 使用 async 和 await with export const

我无法完成这项工作...它说:await是一个保留字。是的,当然是……而且我想使用它:)怎么了?exportconstloginWithToken=async()=>{returndispatch=>{dispatch({type:SESSION_LOGIN_IN_PROGRESS,payload:true})letstoredData=awaitReadFromLocalDB('user')console.log(storedData)if(!storedData){invalidToken(null,dispatch)}else{storedData=JSON.parse(stor

javascript - Async/Await with Request-Promise 返回 Undefined

我有两个文件;server.js和scrape.js,下面是它们当前的代码片段。服务器.js:constscrape=require("./scrape");asyncfunctionstart(){constresponse=awaitscrape.start();console.log(response);}start();和scrape.js:constcheerio=require("cheerio");constrequest=require("request-promise");go=async()=>{constoptions={uri:"http://www.somew