59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<!doctype html>
							 | 
						||
| 
								 | 
							
								<html>
							 | 
						||
| 
								 | 
							
								<head>
							 | 
						||
| 
								 | 
							
								  <meta charset="utf-8">
							 | 
						||
| 
								 | 
							
								  <title>Zone.js Basic Demo</title>
							 | 
						||
| 
								 | 
							
								  <link rel="stylesheet" href="css/style.css">
							 | 
						||
| 
								 | 
							
								  <script src="../dist/zone.js"></script>
							 | 
						||
| 
								 | 
							
								  <script src="../dist/long-stack-trace-zone.js"></script>
							 | 
						||
| 
								 | 
							
								</head>
							 | 
						||
| 
								 | 
							
								<body>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  <h1>Basic Example</h1>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  <button id="b1">Bind Error</button>
							 | 
						||
| 
								 | 
							
								  <button id="b2">Cause Error</button>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  <script>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /*
							 | 
						||
| 
								 | 
							
								   * This is a simple example of async stack traces with zones
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function main () {
							 | 
						||
| 
								 | 
							
								    b1.addEventListener('click', bindSecondButton);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /*
							 | 
						||
| 
								 | 
							
								   * What if your stack trace could tell you what
							 | 
						||
| 
								 | 
							
								   * order the user pushed the buttons from the stack trace?
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * What if you could log this back to the server?
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * Think of how much more productive your debugging could be!
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function bindSecondButton () {
							 | 
						||
| 
								 | 
							
								    b2.addEventListener('click', throwError);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function throwError () {
							 | 
						||
| 
								 | 
							
								    throw new Error('aw shucks');
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /*
							 | 
						||
| 
								 | 
							
								   * Bootstrap the app
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  //main();
							 | 
						||
| 
								 | 
							
								  Zone.current.fork(
							 | 
						||
| 
								 | 
							
								          {
							 | 
						||
| 
								 | 
							
								              onHandleError: function (parentZoneDelegate, currentZone, targetZone, error) {
							 | 
						||
| 
								 | 
							
								                  console.log(error.stack);
							 | 
						||
| 
								 | 
							
								              }
							 | 
						||
| 
								 | 
							
								          }
							 | 
						||
| 
								 | 
							
								  ).fork(Zone.longStackTraceZoneSpec).run(main);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  </script>
							 | 
						||
| 
								 | 
							
								</body>
							 | 
						||
| 
								 | 
							
								</html>
							 |