草庐IT

ASynchronous

全部标签

javascript - 如何打破 promise 中的循环?

我正在使用Bluebird库做一些QA(问题/答案)应用程序。所以这是场景:用户在表格中填写一些问题的答案(例如5个问题)。一个问题有不止1个可能的答案:“问题有很多答案”答案在数据库中使用node.bcrypt加密(bcrypt)在遍历答案时,如果用户答案匹配,则无需继续检查该问题的答案。所以这是同步做事时要解决的一个常见问题,但我有点迷失了用promise做异步。这是我不知道如何进行的示例:.then(function(answers){varcompare=Promise.promisify(bcrypt.compare);//foreachanswer,Ineedtocheck

javascript - 如何在带有 Node.js Commander 的 repl/bash 中继续接收异步 console.log 消息?

我有一个使用Commander构建的Node.jsCLI图书馆。这是主执行文件中的代码。#!/usr/bin/envnodevarprogram=require('commander');varscmStash=require('./lib/hdqc/scmStash');varcommand={};program.version('0.0.1').option('-P,--Projects','ListProjects').option('-R,--Repositories','ListAllRepositoriesonServer.').parse(process.argv);fu

javascript - 如何计算 JavaScript 中异步函数的执行时间?

我想计算异步函数(async/await)在JavaScript中花费了多长时间。可以这样做:constasyncFunc=asyncfunction(){};constbefore=Date.now();asyncFunc().then(()=>{constafter=Date.now();console.log(after-before);});但是,这不起作用,因为promise回调在新的微任务中运行。IE。在asyncFunc()结束和then(()=>{})开始之间,任何已经排队的微任务将首先被触发,它们的执行时间将为考虑在内。例如:constasyncFunc=asyncf

javascript - 带有异步 forEach 循环的磁带 "test exited without ending"错误

我在做什么编辑:我创建了一个repo使用我的问题的简化版本重现问题。我正在尝试使用browserstack设置自动化前端测试,selenium-webdriver和tape.Moreabouttape这个想法是定义多个浏览器和设备,这些浏览器和设备必须用X数量的给定测试一个接一个地进行测试。在下面的例子中,我在OSX上只定义了一个测试和两个浏览器。为了只定义一次浏览器并处理测试,我创建了一个repotest-runner,它应该作为dev-dependency添加到需要的repos在给定的设备和浏览器上测试。test-runner使所有需要的测试都通过,启动第一个浏览器,在该浏览器上运

javascript - 如何使用 Dino 和 Sinatra 显示传感器输出?

我想在我的页面上显示连接到Arduino的传感器(湿度)之一的输出。按照脚本,每隔一秒给我一些值(数字)。require'dino'board=Dino::Board.new(Dino::TxRx.new)sensor=Dino::Components::Sensor.new(pin:'A0',board:board)on_data=Proc.newdo|data|putsdatasleep1endsensor.when_data_received(on_data)sleep我想我可以使用Sinatra作为API和Javascript脚本来显示异步输出。所以应该是这样的%w(sinat

javascript - Q promise 中的并发限制 - Node

有没有什么方法可以使用Qpromises库来限制promise的并发?这个问题有点相关HowcanIlimitQpromiseconcurrency?但问题是我正在尝试做这样的事情:for(vari=0;i实际用例是:从数据库中获取帖子循环数据库中的每个帖子,如posts.forEach(function(post){}对每个帖子执行任务1、任务2、任务3(检索社交计数器、检索评论计数等)在数据库中保存新的帖子数据。但问题是Node同时执行所有帖子的所有任务,比如同时向facebook询问500个帖子的“喜欢计数”。我如何限制Q.all()一次只有2个帖子在执行它们的任务?或者还有哪些

javascript - Node 异步路由代码

我正在使用带有express4.0的Node。我在互联网上找不到任何关于在路由中嵌入异步代码的信息(包括文档)。有了中间件就很简单了:app.use('/something',function(req,res,next){doSomethingAsync(function(err,probablySomethingElse){//probablysomeerrorcheckingnext();});});routes的问题是没有next回调,express怎么知道什么时候移动到下一个job?app.get('/something',function(req,res){res.rende

javascript - 使 FB.api() 调用同步

我正在FBjavascriptSDK之上创建fQueryAPI。到目前为止一切正常,但我现在卡在FB.api调用中了。实际上,我正在尝试使用FB.api函数加载facebook用户对象,即“/me”。functionsomefunc(){varr=fQuery.load(selector);//selector="me"returnr;}fQuery.load=function(selector){fQuery.fn.response="";returnFB.api("/"+selector,function(response){//wegetresponsehere.});}是否可以

javascript - 您如何或如何使用 firebase 有效地处理错误?

我一直在阅读firebase文档,它使用了很多异步代码。我想知道firebase是否抛出错误和/或在回调中传递错误数据。据我所知,文档没有提及它。在此先感谢您的建议 最佳答案 Firebase目前不会产生开发人员可使用的错误(针对错误输入抛出的外部异常)。目前Firebase操作保证要么成功要么永远不会触发事件。在网络连接问题的情况下,Firebase将不会触发事件。这是预期的行为,因为Firebase设计为在离线模式下工作,一旦重新建立连接,它会自动让您加快速度。请注意,将来我们会针对安全违规和其他可能的错误类型抛出错误。用于捕获

javascript - 如何等待异步方法的回调返回值?

我知道等待一个异步方法是愚蠢的,oneshouldusecallbacksinstead.但是,如果第三方API强制您同步怎么办?我正在开发一个Chrome扩展程序,它将阻止用户访问已在另一个选项卡中打开的网站。我基本上需要根据打开的选项卡中的url取消请求。我想用chrome.webRequest.onBeforeRequest像这样:functiononBeforeRequest(details){varwebsiteAlreadyOpenInOtherTab;//Hereiwanttoset`websiteAlreadyOpenInOtherTab`byusingthe`chro