草庐IT

apply_async

全部标签

javascript - 带有 if 条件和条件函数列表的 nodejs 和 async.waterfall。

我一直在使用async.waterfall和nodejs。它工作得很好,但现在我有一个关于流程的问题。我想在async.waterfall流程中使用一个简单的if条件。async.waterfall([callOne,callTwo,if(condition>0){callTest1,callTest2,}else{callTest3,callTest4,}callThree,callFour,callFive,],function(err,result){if(err){returnres.status(400).jsonp({error:err});}});我只想测试一个条件..如

javascript - ES6 Promise 替换 async.eachLimit/async.mapLimit

在async,如果我需要将异步函数应用于1000个项目,我可以这样做:async.mapLimit(items,10,(item,callback)=>{foo(item,callback);});以便同时处理10个项目,限制开销并允许控制。使用ES6promise,虽然我可以轻松做到:Promise.all(items.map((item)=>{returnbar(item);}));这将同时处理所有1000个项目,这可能会导致很多问题。我知道Bluebirdhavewaystohandlethat,但我正在寻找ES6解决方案。 最佳答案

javascript - 在不使用 async/await 的情况下按顺序执行 promise 数组

假设我有一系列promise。我的数组中的每个元素都是一个knex.js查询生成器,并准备好执行并返回一个promise。如何按顺序运行此数组的每个元素。该数组是动态构建的。letpromisesArray=[q1,q2,q3];每个q本身不是一个promise,但它会在执行时返回一个promise。 最佳答案 这里可能是一个可能的选择:letp=Promise.resolve([]);promisesArray.forEach(q=>{p=p.then(responses=>{//basedonthenatureofeachq,t

javascript - "async defer"一起使用有什么作用?

这个问题在这里已经有了答案:CanyouuseboththeasyncanddeferattributesonaHTMLtag?(6个答案)关闭4年前。我遇到了以下代码:我明白将下载脚本,然后解析它暂停HTML解析。我也明白将在解析完所有HTML后下载脚本并解析。什么是做(例如异步和延迟一起使用)?

javascript - async.waterfall 的简单实现是什么?

我正在使用asynclibrary中的一些函数,并想确保我了解他们在内部是如何做事的;但是,我一直停留在async.waterfall(implementationhere)上。实际实现使用库中的其他函数,没有太多经验,我发现很难理解。有人可以在不担心优化的情况下提供非常简单实现waterfall功能的实现吗?可能类似于thisanswer.来自thedocs,waterfall的描述:Runsthetasksarrayoffunctionsinseries,eachpassingtheirresultstothenextinthearray.However,ifanyofthetas

javascript - knockout 类型错误 : m. apply is not a function

下面是带有折叠面板的表格的代码。click事件处理程序抛出“m.apply不是函数”的错误消息。Quux.CollapseExpandCustom.ToggleSection('+id+')是接受动态id的函数。请让我知道我犯了什么错误。我需要绑定(bind)代码中提到的click事件。UserStartedDateFooActionFoos       最佳答案 这个答案可能有帮助:Knockoutclickbindingstrangebehavior基本上,如果你将它包

javascript - 为什么 apply with too many arguments 抛出 "Maximum call stack size exceeded"?

在Chrome和Node中,以下代码会抛出错误:functionnoop(){}vara=newArray(1e6)//Array[1000000]noop.apply(null,a)//UncaughtRangeError:Maximumcallstacksizeexceeded我明白为什么将100万个参数传递给一个函数可能是个坏主意,但谁能解释为什么错误是超出最大调用堆栈大小,而不是更相关的错误?(如果这看起来很无聊,原来的情况是Math.max.apply(Math,lotsOfNumbers),这是一种从数组中获取最大数的不合理方法。) 最佳答案

javascript - Node.JS async.parallel 不会等到所有任务都完成

我正在使用aync.parallel并行运行两个函数。这些函数请求RSS提要。然后RSS提要被解析并添加到我的网页。但由于某些原因async.parallel运行回调方法时没有等到两个函数完成Thedocumentationsays:Oncethetaskshavecompleted,theresultsarepassedtothefinalcallbackasanarray.我的代码。require('async').parallel([function(callback){fetchRss(res,bbcOpts);//Needstimetorequestandparsecallb

JavaScript 函数 : Applying Apply

我被这种奇怪的事情难住了。假设我有这个数组:vararray=[{something:'special'},'and','a','bunch','of','parameters'];我可以apply函数的apply方法来调用this对象的函数{something:'special'}而参数是array的其余部分?换句话说,我可以这样做吗vartester=function(){console.log('this,',this);console.log('args,',arguments);};tester.apply.apply(tester,array);期望输出如下?>this,{

javascript - 将 async/await 与 babel 一起使用 - 要求 ("babel-polyfill") 行不在构建文件的顶部

我正在尝试将ES2017async/await语法与Babel结合使用。在package.json中,我有"babel":{"plugins":["babel-plugin-transform-async-to-generator"],"presets":["es2015"]}//..."devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-polyfill":"^6.13.0","babel-preset-es2015":"^6.14.0"