草庐IT

异步IO

全部标签

javascript - Selenium & webdriver.io 如何使用executeScript?

我正在尝试使用Selenium、WebDriver.io和Node.js(使用Mocha)测试一个简单的表单。所以我有这样的东西:varwebdriverio=require('webdriverio');varexpect=require('expect');describe('Testform',function(){beforeEach(function(){browser.url('/');});it('shouldsaveobject',function(){expect(browser.executeScript('returnwindow.data;')).to.be([

javascript - aFrame.io 创建超链接和下载链接

您好,我刚开始使用A-Frame.io,我发现该网站非常有用。但是,没有关于如何在我查看对象时使链接起作用的文档。https://aframe.io/examples/showcase/cursor/在上面的示例中,如果您使用鼠标中键将十字线悬停在立方体上,它会改变形状。有没有办法在触发该多维数据集时使Web链接起作用。Cursor 最佳答案 您可以添加一个事件监听器,或者编写一个链接组件。el.addEventListener('click',function(){window.location.href='https://goo

javascript - 使用 chrome.tabs.executeScript 执行异步函数

我有一个功能,我想使用chrome.tabs.executeScript在页面中执行,从浏览器操作弹出窗口运行。权限设置正确,并且可以正常使用同步回调:chrome.tabs.executeScript(tab.id,{code:`(function(){//Dolotsofthingsreturntrue;})()`},r=>console.log(r[0]));//Logstrue问题是我要调用的函数要经过几个回调,所以我想使用async和await:chrome.tabs.executeScript(tab.id,{code:`(asyncfunction(){//Dolotso

javascript - 如何使用 Cloudflare Worker 发出异步请求(非阻塞)

我正在编写一个CloudflareWorker,它需要在我的原始请求完成后对分析服务执行ping操作。我不希望它阻止原始请求,因为我不希望分析系统的延迟或故障减慢或中断请求。如何创建在原始请求完成后开始和结束的请求?addEventListener('fetch',event=>{event.respondWith(handle(event))})asyncfunctionhandle(event){constresponse=awaitfetch(event.request)//Sendasyncanalyticsrequest.letpromise=fetch("https://e

javascript - 如何异步使用回调

console.log("before")functiong(p,callback){callback('1')}g(1,(re)=>{console.log(re);})console.log("after")结果是before1after。如何使函数调用异步意味着结果应该是beforeafter1没有setTimeout函数用例就像我在一个函数中有一个api调用,并在这个函数调用之后发送响应。但是因为这个函数被同步调用,所以发送响应被延迟了。所以我想在api调用之前发送响应console.log("beforecallback")apiRes.url=[url];apimanage

javascript - 我怎样才能延迟运行一些 JS 代码,直到我的所有异步 JS 文件都下载完毕?

更新:我有以下代码:functionaddScript(url){varscript=document.createElement('script');script.src=url;document.getElementsByTagName('head')[0].appendChild(script);}addScript('http://google.com/google-maps.js');addScript('http://jquery.com/jquery.js');...//runcodebelowthispointoncebothgoogle-maps.js&jquery.

javascript - 从异步函数获取数据

我有这个代码:functiongetData(){db.transaction(function(tx){tx.executeSql('SELECT*fromq',[],function(tx,result){varq=[];for(vari=0;i它没有按预期工作(它不返回任何东西)。假设发生了,因为db.transaction工作异步,但我正在使用回调返回数据。有人可以解释为什么它不起作用以及如何解决这个问题吗? 最佳答案 执行此操作的标准方法是包含您自己的回调,如下所示:functiongetData(callback){db

javascript - chrome 扩展在后台页面和内容脚本下使用相同的 socket.io 连接

我正在使用socket.io做一个chrome扩展,我有一个内容脚本可以保持连接到服务器以进行实时聊天,但我也想在后台页面中从服务器获取一些信息。它像这样分开工作很好在内容脚本中varsocket=io.connect('http://localhost:3700');socket.on('dosomething',function(){console.log("test");});在后台页面varsocket=io.connect('http://localhost:3700');socket.on('dosomething',function(){console.log("test

javascript - Webdriver.io 因 NoSessionIdError 崩溃

我正在尝试让webdriver.io和Jasmine正常工作。正在关注theirexample,我的脚本在test/specs/first/test2.js(根据配置),包含:varwebdriverio=require('webdriverio');describe('mywebdriveriotests',function(){varclient={};jasmine.DEFAULT_TIMEOUT_INTERVAL=9999999;beforeEach(function(){client=webdriverio.remote({desiredCapabilities:{brows

javascript - socket.io 客户端 : how to determine if a handler is already installed

如果您为套接字上的同一个函数多次调用“on”方法会发生什么?多次调用它是简单地覆盖了最后注册的函数还是使用了更多资源?如果是后者,那么如何判断handler是否已经注册? 最佳答案 我刚刚查看了Firebug中的套接字,有一个名为“_callbacks”的成员。它包含所有已注册的回调,因此检测是否已注册非常简单:if(socket._callbacks[strHandlerName]==undefined){//Handlernotpresent,installnowsocket.on(strHandlerName,function