2016-11-09 54 views
0

當我沒有找到數據時(我無法控制此服務器),我從中檢索數據的服務器返回NULL。問題是數據沒有得到成功或錯誤,只是拋出一個錯誤。我想趕上NULL並將其視爲正常響應。

var config = { 
    method:'GET', 
    url:url, 
    cache: false, 
    params: data 
    }; 
    return new Promise(function(resolve, reject) { 
    $http(config).success(function(data) { 
     resolve(data); 
    }).error(function error(err) { 
     reject(err); 
    }); 
    }); 

許是正在使用的控制器:

service.getPromise().then(function(data) { 
    console.log(data); 
}); 

在控制檯確切的錯誤是:

ionic.bundle.js:26794 SyntaxError: Unexpected token N in JSON at position 0 
Uncaught (in promise) undefined 

預先感謝您

回答

0

添加catch塊要捕捉並解決錯誤,那麼你可以在y中訪問它時解決這個問題我們的getPromise承諾:

var config = { 
    method:'GET', 
    url:url, 
    cache: false, 
    params: data 
}; 

return new Promise(function(resolve, reject) { 
    $http(config).success(function(data) { 
     resolve(data); 
    }) 
    .error(function error(err) { 
     reject(err); 
    }) 
    .catch(function (err) { 
     // your catch logic here 

     resolve(null); 
    }); 
}); 
+0

謝謝你的評論,但我最終得到相同的錯誤。 – user3786992