// X:\jsc.svn\examples\javascript\Test\TestWebCryptoEncryption\TestWebCryptoEncryption\Application.cs public static Task <byte[]> encryptAsync( this SubtleCrypto that, object algorithm, CryptoKey key, byte[] data ) { var x = new TaskCompletionSource <byte[]>(); var promise = that.encrypt(algorithm, key, data); promise.then( z => { x.SetResult(z); } ); return(x.Task); }