/// <summary> /// This is a javascript application. /// </summary> /// <param name="page">HTML document rendered by the web server which can now be enhanced.</param> public Application(IApp page) { sprite.WhenReady( delegate { Console.WriteLine("WhenReady"); } ); sprite.With( async delegate { Console.WriteLine("before await"); var e = new Stopwatch(); e.Start(); await sprite; Console.WriteLine("after await " + e.ElapsedMilliseconds); } ); sprite.AutoSizeSpriteTo(page.ContentSize); sprite.AttachSpriteTo(page.Content); @"Hello world".ToDocumentTitle(); // Send data from JavaScript to the server tier service.WebMethod2( @"A string from JavaScript.", value => value.ToDocumentTitle() ); }
public static TaskAwaiter <string> GetAwaiter(this ApplicationSprite sprite) { var s = new TaskCompletionSource <string>(); sprite.WhenReady(s.SetResult); return(s.Task.GetAwaiter()); }