如何從httpBackend.when()返回承諾?我想加載存儲在.json文件中的一些罐頭數據,並從httpBackend.whenGET()返回。當我嘗試從http.get('mydata.json')返回承諾時,響應返回到工廠的失敗回調。httpBackend.when()的角度返回承諾()
function getAvailablePackagesComplete(response) {
return response.data;
}
function getAvailablePackagesFailed(error) { // {error = Object {data: undefined, status: 0, config: Object, statusText: ""}
$log.error(error.data.description);
return false;
}
function getAvailablePackages() {
return $http.get('/1.0/get-available-packages')
.then(getAvailablePackagesComplete)
.catch(getAvailablePackagesFailed)
}
var data = {"package": "test", "version": "1"}
$httpBackend.whenGET('/1.0/get-available-packages').respond(function(method, url, data) {
// return [200,data, {}] // this works
return $http.get('app/home/fixtures/mydata.json'); // contains {"package: "test", "version": "1"}
}); //this doesn't work
我想保持從請求分離模擬後端,這樣我就可以直接刪除模塊的依賴性,當實際的API準備好了。所以,我認爲我必須在模擬後端模塊中硬編碼數據。 – neridaj