@azure/abort-controllerパッケージは、AbortControllerやFetchで使われるAbortSignalを現代のJavaScriptプラットフォームに組み込む際に、より簡単に扱えるように、AbortSignalLikeインターフェースとAbortErrorクラスを提供します。
一般的にJavaScript用のAzure SDKの顧客はこのライブラリを使用する必要はありません。 代わりに、プラットフォームが提供するAbortControllerとAbortSignalを使い、中止信号をAzure SDK作業に伝えます。
主要なリンク:
作業の開始
インストール作業
次のように npm を使用してこのライブラリをインストールします。
npm install @azure/abort-controller
主な概念
AbortControllerを使ってAbortSignalを作成し、それをAzure SDK作業に渡して保留中の作業をキャンセルできます。
AbortSignalはインスタンス化されたAbortController上のsignalプロパティからアクセス可能です。
AbortSignalは静的手法(例:AbortSignal.timeout(100))から直接返すことも可能です。
しかし、その記録は100ミリ秒後にキャンセルされます。
Examples
以下の例は、 doAsyncWork が複数の性質を持つ関数であり、そのうちの一つが中止信号であると仮定しています。
例1 - 基本的な使用法
async function doAsyncWork(options: { abortSignal: AbortSignal }): Promise<void> {
if (options.abortSignal.aborted) {
return;
}
// do async work
}
const controller = new AbortController();
doAsyncWork({ abortSignal: controller.signal });
// at some point later
controller.abort();
例2 - タイムアウト付きの中止
async function doAsyncWork(options: { abortSignal: AbortSignal }): Promise<void> {
if (options.abortSignal.aborted) {
return;
}
// do async work
}
const signal = AbortSignal.timeout(1000);
doAsyncWork({ abortSignal: signal });
次のステップ
npm run testを実行することで、テストをローカルでビルドして実行できます。
test フォルダーを調べて、パブリック クラスの高度な使用方法と動作を確認します。
Troubleshooting
このライブラリを使って問題が発生した場合は、どうぞお気軽にfile a issueしてください。
Contributing
このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。
Azure SDK for JavaScript