未捕获的TypeError:undefined不是函数

时间:2014-08-25 10:30:45

标签: javascript

以下javascript代码段在.done语句中出错。错误是“未捕获的TypeError:undefined不是函数” 既然我们可以使用完成承诺任何想法为什么会出现这个错误?

var promise = new Promise(function(resolve,reject)
                {

                    if(true)
                    {
                        console.log("1");

                    }
                    else
                        console.log("2");


                });
    promise.then( function(data1) {

                     if(true)
                    {
                        console.log("3");
                    }

                    else
                       console.log("4");
                })
                .then( function(data2) {

                     if(true)
                    {
                        console.log("5");
                    }
                    else
                        console.log("6");

                })
               .done( 
                    function(response) {
                       console.log("done")
                    });
                .fail(
                    function() {
                        console.log("fail");
                    });

1 个答案:

答案 0 :(得分:1)

Promise API中没有此类方法donefail,对象级别只有thencatchhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#Methods

  

Promise.prototype.then(onFulfilled,onRejected)

     

将履行和拒绝处理程序附加到promise,并返回一个新的promise,解析为被调用者的返回值。

     

<强> Promise.prototype.catch(onRejected)

     

将拒绝处理程序回调附加到promise,并返回一个新的promise,解析为回调的返回值(如果是   如果承诺是相反的,则称为或其原始履行价值   满足。