Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
fetch.js 862 B
Newer Older
peter_rabbit's avatar
peter_rabbit committed
"use strict";

function fetchjson(url) {
    return new Promise((resolve, reject) => {
        fetch(url)
peter_rabbit's avatar
peter_rabbit committed
            .then(r => r.json())
            .then(r => resolve(r))
            .catch(e => reject(e));
    });
peter_rabbit's avatar
peter_rabbit committed
}
peter_rabbit's avatar
peter_rabbit committed

function fetchtext(url) {
    return new Promise((resolve, reject) => {
        fetch(url)
peter_rabbit's avatar
peter_rabbit committed
            .then(r => r.text())
            .then(r => resolve(r))
            .catch(e => reject(e));
    });
peter_rabbit's avatar
peter_rabbit committed
}
peter_rabbit's avatar
peter_rabbit committed

Pierre Jarriges's avatar
Pierre Jarriges committed
async function fetch_json_or_error_text(url, options = {}) {
    return new Promise((resolve, reject) => {
        fetch(url, options).then(async res => {
            if (res.status >= 400 && res.status < 600) {
                reject(await res.text());
            } else {
                resolve(await res.json());
            }
        })
    })
}

peter_rabbit's avatar
peter_rabbit committed
module.exports = {
peter_rabbit's avatar
peter_rabbit committed
    fetchjson,
    fetchtext,
Pierre Jarriges's avatar
Pierre Jarriges committed
    fetch_json_or_error_text,
peter_rabbit's avatar
peter_rabbit committed
};