私は、SubtleCrypto関数の結果を変数に代入する方法があると私に信じさせるMDNの次のようなものがあると気づきました:example (last one)しかし、これまで、私は/が非同期について研究している知っているように/SubtleCryptoと組み合わせて非同期/待機しています
async function sha256(message) {
const msgBuffer = new TextEncoder('utf-8').encode(message); // encode as UTF-8
const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer); // hash the message
const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert ArrayBuffer to Array
const hashHex = hashArray.map(b => ('00' + b.toString(16)).slice(-2)).join(''); // convert bytes to hex string
return hashHex;
}
sha256('abc').then(hash => console.log(hash));
const hash = await sha256('abc');
例が正しくないです... async
関数内await
を使用するだけで可能です待つか、私が何かを誤解したのですか?最も重要な; .then()
のない変数にSubtleCrypto/Promiseの結果を割り当てることが可能です。
なぜ私はこの地獄が必要なのか望んでいるのか、自分自身に尋ねる人々のために。私はredux-persistと組み合わせてWebCryptoを使いこなしていますが、Promiseベースのtransformsは処理していないようです。
申し訳ありませんが、私は狂っていたと思っていました...説明をありがとう。私は、それでは還元的なものに潜り込まなければならないように見えます。 –