`

js错误总结一:同步与异步

阅读更多
1. 同步与异步
$.post("http://10.200.1.22:8983/solr/collection1/select",{"q":query,"wt":"json","indent":true,"rows":10},function(data){
	var response  = data.response;					   
	var docs =  response.docs;
	for(var i = 0;i<docs.length;i++)
	{
	
           var url = docs[i].entry_url;					 
	   var li = $('<li><a href =#">'+docs[i].source_name+'</a></li>');
	  $("#card1").append(li);
		li.click(function(){
	  myWindow = openWindow();						                     
loadWindowContent(myWindow,url);
		 });
	}
},'json');

上面的代码执行的时候点击相应的锚文本,连接中出现的信息不对。原因上述的
li.click(function(){
	 myWindow = openWindow(); 									 loadWindowContent(myWindow,url);
		 });
是并发的,相当于在新的线程中执行,url跟for循环第一行的url不一致。解决办法:
将for循环中的代码改为:
var li = $('<li  data-url="'+docs[i].entry_url+'"><a href ="#">'+docs[i].source_name+'</a></li>');
		$("#card1").append(li);
		li.click(function(){
	 myWindow = openWindow(); 									 loadWindowContent(myWindow,$(this).attr('data-url'));
		 });
分享到:
评论

相关推荐

    第六章:高性能异步爬虫_第六章:高性能异步爬虫_

    在实际项目中,高性能异步爬虫不仅限于Python,其他编程语言如JavaScript(Node.js的`async/await`)、Java(Reactor或Quasar框架)等也有相应的异步解决方案。理解并掌握这些技术,对于提升数据获取能力具有重要...

    Angular异步变同步处理方法

    首先,异步编程是JavaScript的核心特征之一,它允许JavaScript引擎在等待一个长时间操作(如网络请求)完成时,继续执行其他任务。异步操作典型地使用回调函数(callback)来处理操作完成时的行为,但过多的嵌套(回...

    异步&同步加载树节点----zTree(一)

    总结来说,zTree的异步加载机制是其强大功能的一部分,它允许开发者灵活地处理大数据量的树结构,提升应用性能。理解并掌握异步加载的原理和配置,对于优化zTree的使用至关重要,也是前端开发中的重要技能之一。通过...

    同步方法和异步方法比较

    在JavaScript中,异步常见于Node.js环境,通过回调函数、Promise或async/await来处理。而在C#中,`async`和`await`关键字提供了异步编程的支持。 综上所述,选择同步或异步方法需要权衡代码的可读性、可维护性和...

    Node.js连接OpenGauss异步转同步封装

    在IT行业中,Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它以其高效的非阻塞I/O和事件驱动模型在服务器端编程中受到广泛应用。OpenGauss则是一款开源的关系型数据库管理系统,专为大规模数据处理设计,...

    javascript将异步校验表单改写为同步表单.docx

    ### JavaScript将异步表单校验改写为同步表单的知识点详解 #### 一、背景与需求 在Web开发中,表单是用户交互的重要组成部分。为了提高用户体验,开发者通常采用异步方式来处理表单校验,即在用户提交表单前,通过...

    深入理解JavaScript编程中的同步与异步机制

    在深入理解JavaScript编程的过程中,同步与异步机制是核心概念之一,它们影响着程序的执行流程和性能。随着互联网技术的发展,JavaScript不再局限于浏览器端,通过Node.js等技术的应用,JavaScript的异步编程能力...

    从回调函数到 AsyncAwait:JavaScript 异步编程进阶指南.pdf

    - **同步与异步的区别**: - **同步**:按照代码顺序执行,后一个操作必须等待前一个操作完成才能开始执行。 - **异步**:允许程序在等待某些操作完成的同时执行其他任务,提高了程序的效率和响应性。 #### 二、...

    simpleAsyncSyncExamples:简单的异步同步Node.JS示例

    - **错误处理**:异步编程中的错误通常通过回调函数的第一个参数(错误对象)或Promise的`catch`方法捕获,同步编程则使用try-catch块。 - **非阻塞I/O**:尽量避免使用同步I/O操作,除非必要,因为它们会导致性能...

    Javascript异步编程(英文版)

    早期的JavaScript主要是单线程同步执行的,但随着Ajax技术的出现,异步请求成为可能,开启了JavaScript异步编程的新篇章。近年来,随着ES6及更高版本的引入,JavaScript社区不断完善异步编程模型,使得异步编程变得...

    js异步上传文件插件

    在IT行业中,JavaScript(简称JS)作为前端开发的主要语言,其异步上传文件的功能是现代网页应用中的一个重要组成部分。这个“js异步上传文件插件”涵盖了三种不同的异步上传方式,结合HTML、JS和Ajax技术,为开发者...

    JavaScript 异步编程:基本指南.docx

    JavaScript中的异步编程是开发高性能应用的关键技巧。它允许代码在不影响主线程执行的情况下处理耗时的操作,如网络请求、数据库交互或文件操作。本文将深入讲解JavaScript异步编程的基础和高级概念,帮助开发者理解...

    Javscript高性能编程+Javascript异步编程

    7. **回调函数与错误处理**:异步操作中错误处理至关重要,合理的错误处理策略(如try...catch)能确保程序的健壮性。 8. **Web Workers**:在后台线程中执行耗时任务,避免阻塞主线程,提高用户体验。 9. **...

    JavaScript异步编程g.pdf

    通过Promise,开发者能够以同步的方式编写异步代码,这极大简化了异步操作的复杂性,并让错误处理更为直观。 这些异步处理技巧能帮助开发者有效应对大型Web应用程序的复杂性,使得代码能够更快响应用户操作。例如,...

    《JavaScript异步编程》PDF版本下载.txt

    #### 二、同步与异步的区别 1. **同步执行**:代码按照顺序执行,当前的操作必须完成才能执行下一条语句。 2. **异步执行**:当前的操作启动后,不需要等待其完成就可以执行后续代码。当该操作完成后,通过回调函数...

    异步函数同步_Make_an_asynchronous_function_synchronous_javascript

    在JavaScript编程中,异步处理是一项核心特性,它允许代码在等待I/O操作(如文件读写、网络请求)时不会阻塞程序的执行。然而,有时开发者可能需要将异步函数转换为同步形式,以便在特定场景下更容易控制流程。本文...

    《深入浅出Node.js》:Node异步编程解决方案之事件发布-订阅模式.docx

    《深入浅出Node.js》这本书深入探讨了Node.js的异步编程解决方案,特别是事件发布-订阅模式。在Node.js中,异步编程是其核心特性,它利用非阻塞I/O和事件驱动机制来提高性能,避免了多线程带来的复杂性。异步编程的...

    JavaScript设计模式+JavaScript模式+JavaScript异步编程

    JavaScript是Web开发中不可或缺的一部分,尤其在前端领域更是扮演着核心角色。设计模式和异步编程是提升JavaScript代码质量和效率的关键。以下将详细介绍这三本书所涵盖的知识点: 1. **JavaScript设计模式**: ...

    $.getJSON同步异步问题1

    在JavaScript和jQuery的世界里,异步编程是一种常见的处理网络请求的方式,它允许程序在等待响应的同时继续执行其他任务,提高用户体验。然而,当涉及到多个异步请求时,特别是在$.getJSON这样的Ajax操作中,可能会...

Global site tag (gtag.js) - Google Analytics