大家好,今天小编关注到一个比较有意思的话题,就是关于javascript的异步编程的问题,于是小编就整理了4个相关介绍JavaScript的异步编程的解答,让我们一起看看吧。
js的同步、异步是指什么?怎么回事?与线程有关吗?
javascript 异步表示async,指:代码执行不按顺序,‘跳过’执行,待其他某些代码执行完后,再来执行,称为“异步”。Javascript同步表示sync,指:代码依次执行。就是这么回事j***ascript所谓的“线程”,就是这样一种概念这种情况容易出现在 ajax 当中,因为ajax最可能,也最多用到async 或者 sync的概念属性。
J***aScript如何异步的传递j***a对象?
$.ajax({
type : "post",
url : frm.attr("action"),
data : frm.serialize(),// 获得表单数据
success : function(result)
{if (result > 0) {
alert("成功!");
} else
{alert("失败!");}}
});
后台 用String xx = request.getParameter("form中input的name");
js为什么网络请求是异步?
js网络请求是异步的原因是:
因为,js是单线程的语言,浏览器只分配给js一个主线程,用来执行任务,但一次只能执行一个,当任务比较多时就形成了一个任务队列,响应,执行的效率都很低。
所以,浏览器为这些耗时的任务开辟了一个另外的线程,主要是有http请求,定时器,事件,这些任务是异步的。
node.js中的forEach是同步还是异步?
node里几乎所有用到回调函数的地方,都是异步的,回调函数后面的代码很可能比回调函数中的代码后先执行,特别是数据库操作。当然,node也提供了同步版本的函数,例如文件操作,fs.readFileSync()是fs.readFile()的同步版本。那么问题来了,forEach()是不是异步的呢?按理说,没有加Sync,应该是异步的呀。复制代码 代码如下: var arr = ['a', 'b', 'c']
; var str = '123'
; arr.forEach(function(item) { str += item; while (true) {}; //用一个死循环,卡死它~~ })
; console.log(str);运行上面的代码,结果它就这么卡死了,没有任何输出。。
所以说,node里的forEach()是同步的!!
第一次用node的时候,没有考虑过这个问题,按同步的写了,写突然想到,测试后虚惊一场,以为以前的代码都写错了。
到此,以上就是小编对于j***ascript的异步编程的问题就介绍到这了,希望介绍关于j***ascript的异步编程的4点解答对大家有用。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.fengdengtech.com/post/71742.html