Promise

2017-11-30  本文已影响6人  小学生的博客

对Promise一直是迷迷糊糊状态,今天记录总结下

demo

function getURL(URL) {
        return new Promise( (resolve, reject)=> {
            var req = new XMLHttpRequest();
            req.open('GET', URL, true);
            req.onload = function () {
                if (req.status === 200) {
                    resolve(req.responseText);
                } else {
                    reject(new Error(req.statusText));
                }
            };
            req.onerror = function () {
                reject(new Error(req.statusText));
            };
            req.send();
        });
    }

    var URL = "http://httpbin.org/get";
    getURL(URL).then((value) => {
        console.log(value);
    }).catch((error) => {
        console.error(error);
    });

Promise.resolve

    //写法一
    let promise = new Promise(reslove => reslove(42))
    promise.then(res => {
        console.log(res)
    })
    //写法二
    Promise.resolve(42).then(res=>{
        console.log(res)
    })

Promise.reject

Promise.reject(new Error('err ')).catch((err) => {
        console.error(err)
 })

Promise.all

Promise.race


强烈推荐
http://liubin.org/promises-book

上一篇下一篇

猜你喜欢

热点阅读