草庐IT

异步IO

全部标签

javascript - 如何让 jQuery 将自定义参数传递给异步 AJAX 回调函数?

我的页面处理许多“商店”对象,每个对象都有一个名为“数据”的字段。但是,此数据是通过可能并行进行的AJAX请求获取的。functionStore(id){this.id=id;this.queryparam='blah';this.items=null;}Store.prototype.fetch=function(){$.get("/get_items",{q:this.quaryparam},function(data,status){//howtostorethereceiveddatainthisparticularstoreobject?Being//acallbackfun

javascript - jquery - 在异步数据获取后更新 jquery.sparkline

背景我正在使用jquery.sparkline生产PieCharts.饼图的数据包含在一个数组中。当页面首次加载时,调用网络服务(使用.ajax)来获取数据,那里指定的回调获取接收到的数据并更新与饼图关联的数组。当屏幕上的下拉菜单更改值时,将调用相同的更新过程。情况如果我将.ajax调用设置为asynch=false,一切正常。如果我将.ajax调用设置为asynch=true,则饼图中显示的结果总是“落后一次刷新”。我的意思是,最初没有饼图,然后当下拉菜单发生变化时,饼图呈现为最初应该呈现的样子。代码$.ajax({type:"GET",contentType:"applicatio

javascript - Express + socket.io : socket. io 客户端脚本是 404

这让我发疯了……虽然我有一个Express+Socket.io的工作版本,但我似乎无法通过在新项目文件夹中安装开箱即用的NPM来重现它。谁能指出我所缺少的......?这是我的过程:我在我的项目目录(pwd)中创建了一个node_modules文件夹,然后执行:npminstallexpressnpminstallsocket.io运行这两个命令会将包按预期放置在我项目的node_modules文件夹中。现在我使用以下内容设置我的服务器:varexpress=require('express'),server=express.createServer().use(express.sta

javascript - 异步循环中的 Node.js Api 调用

我在进行多次api调用并在正确位置获取返回结果时遇到困难。这就是我想要实现的目标:两个循环,嵌套。外部循环遍历一个复杂的json对象,并将一些对象的值放在数组调用框中。内部循环调用api并将返回的结果放在名为bag的数组中。所以我有装满数据的盒子和袋子。当循环和api调用都结束时,我想访问box和bag中的数据并对其进行处理。我只是不确定在同一执行点访问两个数组的最佳方法。这是我目前所拥有的,但当然bag和box是空的,因为它们在所有循环和api调用结束之前被调用。vardata={}//ajsonobjectwithdata;varbag=[];varbox=[];async.for

javascript - [Socket.io/Node.js]获取客户​​端连接用户列表

我在socket.io客户端中遇到问题,因为我无法在我的客户端中显示所有用户用户名的列表。我只是socket.io的新手,我知道如何在服务器端编码。我在客户端编程方面遇到困难。我只想在我的client.html中显示连接的用户用户名.这是我在server.js中的一些代码varusers=[];app.get('/',function(req,res){res.sendfile(__dirname+'/index.html');});io.sockets.on('connection',function(socket){socket.on('adduser',function(user

javascript - 带有 websocket 的 Node.js socket.io

我是Node.js或websocket的初学者。我有问题:我的HTML代码:test"usestrict";vargniazdo=newWebSocket('ws://localhost:3000');gniazdo.onopen=function(){console.log('Połączono');};gniazdo.onmessage=function(m){console.log(m.data);};我的Node.js代码:vario=require('socket.io')(3000);io.on('connection',function(socket){console.l

javascript - NodeJS & Socket.IO : Emit a request event and get the response, 我应该何时/何地绑定(bind)监听器?

我目前想知道在这种情况下什么是最佳编程实践:假设我已将客户端连接到我的服务器。这个客户端要求服务器使用auth事件和他的用户名进行身份验证。socket=io();socket.emit('auth',"John");在这个简单的例子中,服务器响应一个带有用户ID的auth_succeed事件。io.on('connection',function(socket){socket.on('auth',function(username){socket.emit('auth_succeed',id);}}所以我的问题是,我应该在何时何地为客户端中的auth_succeed事件绑定(bind

Javascript ES6 生成器异步

我需要异步运行生成器(我需要在控制台1、2、3、4、5中得到结果,因为现在我有4、1、2、3、5)有人可以帮助我吗?我需要运行任务并等待上一个任务完成后再运行下一个任务。我需要使用(如果可能:仅)生成器(或生成器+promise?)这是我的代码/*jshintesnext:true*/functionshow(msg){var_msg=msg;setTimeout(function(){console.log(_msg);},2000);}functionshow2(msg){console.log(msg);}varstack=[];//addsomefunctiontostacks

javascript - Selenium 和异步 JavaScript 调用

我对Selenium和JavaScript回调函数还很陌生,我有一个大问题我自己无法解决。我需要一个使用JavaScript的指定变量。如果我使用GoogleChrome打开页面并使用控制台输入我的JavaScript代码,我可以使用如下方式获取变量:1.varmyId;2.getSomeIdStuffInfo("somestuff",function(docId)(myId=docId));3.returnmyId;如果我一步一步地输入这一行,我很容易得到正确的值myId。但是,当然,如果我尽可能快地执行这三行代码,我会得到null作为返回值,因为当我返回myId时回调函数还没有完成

javascript - Canvas 弧的 Agar.io 风格波纹效果

我真的很喜欢他们创造在线游戏agario的方式。我一直在想:“他们是如何为边缘创造这种涟漪效应的?”我能想到的有几点:1)边框由许多矢量点组成,因此允许灵活的边框动画。2)边框是预定义的gif动画。3)边缘周围有很多不可见的像素。它们围绕圆弧循环并激活其中的几组像素,因此产生了边界正在“收缩”和“缩回”的错觉。如何在HTML5canvas中完成这样的事情?您认为我的3个解决方案想法之一是否适用,还是比这更复杂? 最佳答案 您可以做的是围绕圆周重复绘制正弦波。得到绕圆任意Angular正弦波[x,y]点的方程为:varx=center