- コールバックを使用する方法: コールバックは、非同期処理の古典的なアプローチです。以下は、非同期関数をコールバックを使用して実行する例です。
function asyncFunction(callback) {
setTimeout(function() {
// 非同期処理が完了した後にコールバックを呼び出す
callback(null, '結果');
}, 1000);
}
// 非同期関数を呼び出す
asyncFunction(function(error, result) {
if (error) {
console.error(error);
} else {
console.log(result);
}
});
- Promiseを使用する方法: Promiseは、ES6で導入された非同期処理の新しい方法です。以下は、Promiseを使用して非同期関数を実行する例です。
function asyncFunction() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
// 非同期処理が完了した後にresolveを呼び出す
resolve('結果');
}, 1000);
});
}
// 非同期関数を呼び出す
asyncFunction()
.then(function(result) {
console.log(result);
})
.catch(function(error) {
console.error(error);
});
- async/awaitを使用する方法: async/awaitは、ES8で導入された非同期処理の新しい構文です。以下は、async/awaitを使用して非同期関数を実行する例です。
function asyncFunction() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
// 非同期処理が完了した後にresolveを呼び出す
resolve('結果');
}, 1000);
});
}
// async関数内でawaitを使用して非同期関数を呼び出す
async function myAsyncFunction() {
try {
const result = await asyncFunction();
console.log(result);
} catch (error) {
console.error(error);
}
}
// 非同期関数を呼び出す
myAsyncFunction();
これらは非常に基本的な例ですが、実際の開発ではもっと複雑な非同期処理が必要になることもあります。JavaScriptの非同期処理には他にもさまざまなパターンとツールがありますので、必要に応じてドキュメントや他のリソースを参照してください。