关于promise - pod4g/tool GitHub Wiki


var test_defer = $q.defer();
    test_defer.promise
     .then(function(value){
        console.log("in promise1 ---- success");
        console.log(value);
     },function(value){
        console.log("in promise1 ---- error");
        console.log(value);
     },function(value){
        console.log("in promise1 ---- notify");
        console.log(value);
     })
     .catch(function(e){
        console.log("in promise1 ---- catch");
        console.log(e);
        hideLoading('文件上传失败,请重试');
     })
     .finally(function(value){
        console.log('in promise1 ---- finally');
        console.log(value);
     });

     test_defer.resolve("hello");
     test_defer.resolve("hello2");
     test_defer.resolve("hello3");

上面的resolve只会执行第一次,因为pending状态向resolve转换时,只能转换一次。。