async関数
1388 ワード
意味
ES 2017規格は、非同期動作がより便利になるように
前の文にはGenerator関数があります.順番に二つのファイルを読みます.
ファイルを読み込み処理すると、こう書きます.
ES 2017規格は、非同期動作がより便利になるように
async
関数を導入している.async
関数は何ですか?一言で言うと、それはGenerator関数の文法飴です.前の文にはGenerator関数があります.順番に二つのファイルを読みます.
ファイルを読み込み処理すると、こう書きます.
const readFile = function (fileName) {
return new Promise(function (resolve, reject) {
fs.readFile(fileName, function(error, data) {
if (error) return reject(error);
resolve(data);
});
});
};
const gen = function* () {
const f1 = yield readFile('/etc/fstab');
const f2 = yield readFile('/etc/shells');
console.log(f1.toString());
console.log(f2.toString());
};
上のコードの関数genはasync
関数として書き上げられます.const asyncReadFile = async function () {
const f1 = await readFile('/etc/fstab');
const f2 = await readFile('/etc/shells');
console.log(f1.toString());
console.log(f2.toString());
};
比較すると、async
関数は、Generator関数の星番号(*)をasync
に置き換え、yieldをawait
に置き換えるだけであることが分かります.async
関数によるGenerator関数の改善は、以下の4点において示されている.詳細は4つです。 ES 6教程 Type Script教程