NextGIS Frontend
    Preparing search index...

    Module @nextgis/cancelable-promise

    CancelablePromise

    size version

    A promise you can stop.

    Simply download and include with a script tag, CancelablePromise will be registered as a global variable.

    <script src="../lib/cancelable-promise.global.js"></script>

    <script>
    var promise = new CancelablePromise((resolve, reject, onCancel) => {
    setTimeout(resolve, 1000);
    onCancel(() => console.log('canceled'));
    });
    promise.cancel();
    </script>

    unpkg

    <script src="https://unpkg.com/@nextgis/cancelable-promise"></script>
    

    jsdelivr

    <script src="https://cdn.jsdelivr.net/npm/@nextgis/cancelable-promise"></script>
    

    We recommend linking to a specific version number /cancelable-promise@[version]

    npm install @nextgis/cancelable-promise
    

    Catch CancelError

    import CancelablePromise from "@nextgis/cancelable-promise";

    const promise = new CancelablePromise((resolve, reject) => {
    setTimeout(() => resolve(), 100);
    }).catch((er) => {
    if (er.name === "CancelError") {
    // handle cancel error
    }
    throw er;
    });

    promise.cancel();

    Handle onCancel callback

    import CancelablePromise from "@nextgis/cancelable-promise";

    const promise = new CancelablePromise((resolve, reject, onCancel) => {
    const xhr = new XMLHttpRequest();
    xhr.open("GET", url, true);
    xhr.onload = () => {
    resolve(xhr.responseText);
    };
    xhr.onerror = (er) => {
    reject(er);
    };

    onCancel(() => {
    xhr.abort();
    });

    xhr.send();
    });

    promise.cancel();

    Check out the API Documentation

    Need to fix a bug or add a feature to @nextgis/cancelable-promise? We provide custom development and support for this software. Contact us to discuss options!

    http://nextgis.com

    Classes

    default