草庐IT

asynchronous

全部标签

javascript - 当多个 API 调用时只运行一次响应拦截器

我有一个这样的拦截器axios.interceptors.response.use(undefined,err=>{consterror=err.response;console.log(error);if(error.status===401&&error.config&&!error.config.__isRetryRequest){returnaxios.post(Config.oauthUrl+'/token','grant_type=refresh_token&refresh_token='+refreshToken,{headers:{'Authorization':'Ba

javascript - 用于嵌套数据结构处理的递归异步 JavaScript

我正在寻找一个将以下数据结构作为参数的JavaScript函数:letdata=[{value:'a'},{delay:[{value:'b'},{delay:[{value:'c'}]}]},{value:'d'}];如您所见,数据结构是一个对象数组。每个对象都包含一个属性。这些属性中的每一个都是带有字符串的“值”或带有与其值相同类型的另一个数组的“延迟”。该函数应将每个“值”字符串打印到控制台,并在以相同方式处理延迟数组之前为每个“延迟”暂停两秒钟。该函数应支持任何深度的延迟嵌套。上面显示的两层深度延迟嵌套只是一个例子。上述示例数据的函数输出到控制台的应该是(按此顺序,且仅按此顺序

javascript - 保证Javascript中的异步请求回调顺序

在Javascript中,我有两个异步数据请求:$.getJSON('http://foo.com',fooQuery,fooSuccess(data));$.getJSON('http://bar.com',barQuery,barSuccess(data));和两个处理接收到的数据的回调:fooSuccess(data){//Stuff}barSuccess(data){//MoreStuff}如何确保仅在fooSuccess完成后才执行barSuccess?注意事项:我想保持数据请求的原样:异步和非阻塞(因为服务器响应可能需要一段时间)。但是,我希望处理数据的回调按顺序执行。也就

javascript - 如何从包含数据库查询的 Node.js 函数返回值

这个问题在这里已经有了答案:HowdoIreturntheresponsefromanasynchronouscall?(41个回答)关闭6年前。我正在学习Node.js,并且刚刚开始使用一些MySQL连接。我有一个函数应该从数据库中获取一组行,它正确地完成了。但是,我不知道之后如何返回那组行。我尝试了两个选项(都在下面代码段的注释中进行了解释。functionfetchGameList(){varret=0;connection.query("SELECT*fromtbl",function(err,rows,fields){//somestuffhappenshere,and're

javascript - 一旦所有嵌套的 promise 都解决了,就触发 Promise.all()

我正在尝试使用他们的FirebaseAPI递归地获取HackerNews故事的所有评论。一个故事有一个kids属性,它是一个表示评论的ID数组。每个评论都可以有自己的kids属性,指向它的子评论,等等。我想创建一个包含整个评论树的数组,如下所示:[{'title':'comment1','replies':[{'title':'comment1.1'},{'title':'comment1.2''replies':[{'title':'comment1.2.1'}]}]}]我想我可以使用以下函数来做到这一点:functiongetItem(id){returnapi.child(`it

javascript - 如何从需要返回语句的 GraphQL 解析器中调用异步 node.js 函数?

graphql.org/graphql-js上提供的HelloWorld示例创建一个简单的GraphQL实现如下:var{graphql,buildSchema}=require('graphql');//Constructaschema,usingGraphQLschemalanguagevarschema=buildSchema(`typeQuery{hello:String}`);//TherootprovidesaresolverfunctionforeachAPIendpointvarroot={hello:()=>{return'HelloWorld!';}};//Runt

javascript - 尝试在 Reactjs 中实现一个简单的 promise

只是第一次在React中尝试Promises。我有一个基本的promise(从别人的代码中提取),但不知道如何调整它以使其有用。到目前为止我所拥有的(在我的render()函数中)varpromise=newPromise((resolve,reject)=>{letname='Dave'if(name==='Dave'){resolve("Promiseresolvedsuccessfully");}else{reject(Error("Promiserejected"));}});promise.then(function(result){console.log(result);/

javascript - 关于 underscore.js 中的函数是异步还是同步的一些担忧

我一直在写这样的代码,它运行良好。varresult=_.filter(array,function(item){returnitem[key]===k;});...//logicusingthevariableresult但今天我突然意识到这在技术上可能是错误的,因为过滤器可以异步运行并且结果在过滤器行下方的代码中不可用。filter功能是同步实现的吗?还是我必须牢记过滤器函数异步运行?提前致谢! 最佳答案 你可以看看sourcecode[github]://Returnalltheelementsthatpassatruthte

javascript - Node.js 请求下载文件有时为空或不存在

我正在用node.js和请求模块编写一个下载器。使用我正在做的流语法varr=request(url).pipe(fs.createWriteStream(targetPath));r.on('error',function(err){console.log(err);});r.on('finish',cb);下载文件,保存并调用回调。然而,在几乎50%的情况下,文件要么是空的,要么根本没有创建。没有发出error事件。似乎finish事件被触发,即使文件尚未(完全)写入。上下文:整个事情都包装在async.each调用中。有什么线索吗?谢谢! 最佳答案

javascript - crypto.pbkdf2 是异步的,如何将其视为同步?

我在node.js中使用pbkdf2来散列密码。我的问题是我正在响应身份验证请求,如果传递的凭据正确,我正在进行身份验证。我假设pbkdf2是异步的,因为它可能会花费大量时间(取决于迭代的大小)。然而,将剩余的身份验证逻辑移动到一个单独的方法中以利用回调似乎有点难看。有没有比使用计时器或将所有连续的身份验证逻辑放入一个单独的函数中更好的方法?我知道大多数人会说我应该使用回调,但在我的用例中这没有意义。在将pbkdf2应用于传递的密码之前,我无法继续身份验证。 最佳答案 根据Node.jscryptodocs,PBKDF2函数既有异步