1
我有一個庫函數,它需要返回promise來在DB中解析另一個promise後發佈的東西。 我試圖鏈接承諾,但不工作。在解決相同函數中的promise後返回promise
postIssue: function (issue) {
return getUserConfiguration()
.success(function (response, status, headers) {
var token = headers("X-XSRF-TOKEN");
if (token) {
_cookie = token;
if (issue.isValid()) {
var url = _baseURL + "/api/issue/";
var data = JSON.stringify(issue);
var config = {
xhrFields: { withCredentials: true },
headers: { "X-XSRF-TOKEN": _cookie }
};
return $http.post(url, data, config);
}
else {
return $q.reject("Issue doesn't have valid fields to submit");
}
}
else {
$q.reject("There is no XSRF token on response header");
}
})
.error(function() {
$q.reject("Error getting user's configuration");
});
}
當我打電話在我的代碼,我使用這個庫 它解決和正確職位問題,則數據的功能顯示在第一承諾,而我需要的第二個。這裏
libraryAPI.postIssue(createIssue).then(function (data) {
console.log(data);
},function (error) {
console.log(error);
});
數據不是第二個承諾,但第一個,但正確創建此
使用'then',而不是'success' /'error'! – Bergi
你也忘了在'$ q.reject(...)之前'返回'' – Bergi
@Bergi需要使用成功,因爲需要訪問標題 – OLDRomeo