どのようにnew Functionを通じてasync関数を作成しますか?

1632 ワード

私たちはJavaScript言語が許可されていることを知っています.Funtion()は関数を生成し、async関数はこのように生成されますか?
私はJavaScriptが好きです.多くの方法が最終的に同じ機能を完成することができます.関数を作成するのは一例です.関数を作成するにはいくつかのパターンがあります.その中の一つはおそらく一番少ないのを見たnew Function methodです.
/* new Function(arg1, arg2 (...), body) */
const myFunction = new Function('users', 'salary', 'return users * salary');
new Functionメソッドを使ってasync関数を作成したいなら、どう書きますか?あなたが機転をきかせたいのはMDNのおかげです.答えを見つけました.
//             
const AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;

//   
const fetchPage = new AsyncFunction("url", "return await fetch(url);");
fetchPage("/").then(response => { ... });
Object.getPrototypeOf(async function(){}).constructorを使用するこの方法は、元々の方法が存在しないので、非常に清新である.これを使って非同期関数を作成できます.
リンク
  • 原文リンク-https://davidwalsh.name/async...
  • 原文のAsyncFunction-https://davidwalsh.name/new-f...
  • 翻訳文先頭アドレスhttps://github.com/liuvigongzuoshi/blog