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
  • Learn to ignore specific revisions
  • 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
    };