Javascript Angularjs$http post承诺
我尝试使用$http.post的承诺响应,以整数形式返回记录的新ID,并将其用于下一个$http.post。我曾经帮过忙,但还是没用Javascript Angularjs$http post承诺,javascript,angularjs,post,angularjs-http,Javascript,Angularjs,Post,Angularjs Http,我尝试使用$http.post的承诺响应,以整数形式返回记录的新ID,并将其用于下一个$http.post。我曾经帮过忙,但还是没用 var streckenId; var trackpunktId; var getStreckeID = function () { $http.post(dbStrecke, {"ort": location, "distanz": km}).then(function (response) { streckenId = response.data
var streckenId;
var trackpunktId;
var getStreckeID = function () {
$http.post(dbStrecke, {"ort": location, "distanz": km}).then(function (response) {
streckenId = response.data;
console.log("ID (then): " + streckenId); // return ID
});
return streckenId;
};
streckenId = getStreckeID();
console.log("StreckeID:" + streckenId); //return undefined
最后一个console.log仍然说“streckenId”未定义。修改您的代码
var streckenId;
var trackpunktId;
var getStreckeID = function () {
return $http.post(dbStrecke, {"ort": location, "distanz": km});
};
getStreckeID().then(function(response) {
streckenId = response.data;
console.log("ID (then): " + streckenId); // return ID
});
只有在解决promise时,服务器上的数据才可用。
因此,将在解决承诺后执行转让。否则,
streckenId
将是未定义的
您没有很好地阅读问题的答案,您仍然试图使用尚未设置的内容。您在开玩笑吗?我试图用上面的线程来解决问题,但它不起作用,所以我还是没有得到帮助?伟大的社区!!它确实有效,你只是执行错误。是的,那么告诉我我做错了什么?我已经阅读了答案并尝试了不同的方法,但没有任何效果,所以我在这里要求提前…谢谢你的回答,但仍然不起作用。console.log outside-from-then给出了一个未加定义的响应。您可以检查响应的内容吗?是的,.then(){}中的响应返回了正确的ID。问题是,我需要.then()块之外的响应