问题:这是我的Angularjs代码,我使用令牌调用了POST方法。从后端提供响应需要一些时间,因此Angularjs代码将响应值视为null并开始进一步执行。 如果我出错了,请让我纠正。
预期结果:AngularJS调用应该等待后端发出的执行更多代码的响应。
this.csrfHeaderName_ = kdCsrfTokenHeader;
this.tokenService_ = kdCsrfTokenService;
let csrfTokenPromise = this.tokenService_.getTokenForAction('shiftm');
let deferred = $q.defer();
csrfTokenPromise.then(
(csrfToken) => {
let resource = $resource('api/v1/shiftm', {}, {
save: {
method: 'POST',
headers: {
[this.csrfHeaderName_]: csrfToken, //Token
},
},
});
resource.save(
shiftmData, (response) => {
if (response.length !== 0 && response.length === 0) {
console.log("Response Length is Nonzero");
console.log("shiftmData==>",response);
}
else {
console.log("Response Length is zero");
}
deferred.resolve('request successful');
},
(err) => {
deferred.reject(err);
});
},
(err) => {
deferred.reject(err);
});
return deferred.promise;