Promise 調用的三種方式


      方式一:

       new Promise(function (resolve, reject) {
           
        }).then(function (resolve) {
           
        }, function (reject) {
           
        }).finally(function () {
           
        });

   方式二:
        new Promise(function (resolve, reject) {

        }).then(function (resolve) {

        }).catch(function (reject) {

        }).finally(function () {

        });

    方式三:

       new Promise((resolve, reject) => {
           
        }).then((resolve) => {
          
        }).catch((reject) => {
          
        }).finally(() => {
           
        });

  例子01:

   new Promise((resolve, reject) => {
            if (1 > 2) {
                resolve(() => {
                    alert("解決了");
                });
            } else {
                reject("再接再厲");
            }
        }).then((resolve) => {
            resolve();//因為傳遞來的是一個函數,所以可以這樣調用
        }).catch((reject) => {
            alert('結果:' + reject);//因為傳遞來的是一個字符串,可以拼接
        }).finally(() => {
            alert('我最后運行');
        });

  例子02:
        new Promise(function (resolve, reject) {
            if (1 > 2) {
                resolve(function () {
                    alert("解決了");
                });
            } else {
                reject("再接再厲");
            }
        }).then(function (resolve) {
            resolve();//因為傳遞來的是一個函數,所以可以這樣調用
        }).catch(function (reject) {
            alert('結果:' + reject);//因為傳遞來的是一個字符串,可以拼接
        }).finally(function () {
            alert('我最后運行');
        });
  例子03:
        new Promise(function (resolve, reject) {
            if (1 > 2) {
                resolve(function () {
                    alert("success");
                });
            } else {
                reject("再接再厲");
            }
        }).then(function (resolve) {
            resolve();//因為傳遞來的是一個函數,所以可以這樣調用
        }, function (reject) {
            alert('結果:'+reject);//因為傳遞來的是一個字符串,可以拼接
        }).finally(function () {
            alert('我最后運行');
        });


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM