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> |