草庐IT

异步通信

全部标签

javascript - 使用 document.write 异步加载 javascript

我正在尝试异步googlemapapijavascript。所以,正常的脚本标签有效但是,下面的异步版本没有。(function(){vargmap=document.createElement('script');gmap.type='text/javascript';gmap.async=true;gmap.src='https://maps.googleapis.com/maps/api/js?sensor=false';vars=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(gmap,s

javascript - Backbone 的 trigger() 是同步的还是异步的?

我正在构建一个通用的BackboneView来管理多个subview。有时我需要执行逻辑以在呈现这些View之前准备这些View。我正在考虑使用Backbone事件来启用pre_renderHook,如下所示:view=new(this.child_view);this.trigger('pre_render',view);view.render();trigger()调用的事件是否会同步执行,从而保证它们都在调用render()行之前完成? 最佳答案 基本上,是的,它是同步的。这是来源中的相关部分:trigger:function

javascript - 处理相互依赖和/或分层的异步调用

举个例子,假设我想从某处获取文件列表,然后加载这些文件的内容,最后将它们显示给用户。在同步模型中,它将是这样的(伪代码):varfile_list=fetchFiles(source);if(!file_list){display('failedtofetchlist');}else{for(fileinfile_list){//iteration,notenumerationvardata=loadFile(file);if(!data){display('failedtoload:'+file);}else{display(data);}}}这为用户提供了不错的反馈,如果我认为有必

javascript - AngularJS:WAITING异步调用

我无法理解AngularJS的promise概念。我有一个vendor:varpackingProvider=angular.module('packingProvider',[]);packingProvider.provider('packingProvider',function(){return{$get:function($http){return{getPackings:function(){$http.post('../sys/core/fetchPacking.php').then(function(promise){varpackings=promise.data;r

javascript - 异步谷歌广告与同步

我正在使用谷歌DFP。如果我使用来自谷歌的同步广告,我的网站加载速度很慢,因为它需要在加载网站的同时加载广告,如果广告需要很长时间才能响应,那么页面加载就会暂停。如果我使用异步广告,这不是问题,因为无论是否加载广告,页面都会加载。换句话说,它使网站加载速度更快。问题是,无论是否显示广告,使用异步广告都会创建一个固定宽度和高度的div。所以通常这会在我的网站上创建大量空白空间,因为并非所有广告位置都被使用。同步广告也是如此。谷歌提供了第三种选择,不创建div,它只是使用javascript来显示广告,如果那个空间没有发布任何广告,那么它就不会显示任何空白,这是很好,但是它的行为是同步的.

javascript - 返回一个等待的值会返回一个 Promise? (es7 异步/等待)

constret=()=>newPromise(resolve=>setTimeout(()=>resolve('somestring'),1000));asyncfunctionwrapper(){letsomeString=awaitret();returnsomeString;}console.log(wrapper());它记录Promise{};为什么它返回一个Promise而不是'somestring'?我正在使用BabelES7预设来编译它。 最佳答案 异步函数返回promise。为了做你想做的事,试试这样的事情wra

Javascript 异步函数组合

我有几个参数数量不同的异步函数,每个函数的最后一个参数都是一个回调。我希望按顺序调用这些。例如。functiongetData(url,callback){}functionparseData(data,callback){}通过使用这个:Function.prototype.then=function(f){varff=this;returnfunction(){ff.apply(null,[].slice.call(arguments).concat(f))}}可以像这样调用这些函数,并将输出打印到console.log。getData.then(parseData.then(co

c# - 无法异步使用 Ajax.BeginForm() 上传文件

我正在尝试使用Ajax.BeginForm()上传文件,但没有成功。我的View包含:@using(Ajax.BeginForm("UploadFile",null,newAjaxOptions{HttpMethod="POST",UpdateTargetId="result"},new{enctype="multipart/form-data"})){UploadNewFile</label>}对应的Controller是:[HttpPost]publicstringUploadFile(FormCollectionformData){HttpPostedFileBasefil

javascript - XMLHttpRequest 异步不工作,总是返回状态 0

这是我从w3schools拼凑的XMLHttpRequest示例functionloadXMLDoc(){varT="nothing";xmlhttp=newXMLHttpRequest();xmlhttp.overrideMimeType('text/plain');//don'tscxmlhttp.onreadystatechange=function(){alert("rdystate:"+xmlhttp.readyState);alert("status:"+xmlhttp.status);alert("Text:"+xmlhttp.statusText);if(xmlhttp

javascript - node.js 异步/等待与 MySQL 一起使用

我需要同步所有结果并附加到带有async/await关键字(如c#)的字符串。我是node.js的新手,我无法将这种新语法应用到我的代码中。varstring1='';varstring2='';varstring3='';varstring4='';DatabasePool.getConnection(function(err,connection){connection.query(query,function(err,result){if(err){};string1=result;});connection.query(query,function(err,result){if