gpt4 book ai didi

javascript - angularjs Controller 中的 Promise - 如何实现

转载 作者:行者123 更新时间:2023-12-03 11:36:47 25 4
gpt4 key购买 nike

我正在尝试在我的一个 Controller 中使用 Promise 来实现一个基本功能,这样我就可以确保它在添加更复杂的功能之前正常工作。我在 lockPromise 方法中的“.then(function(data){”上收到“TypeError: undefined is not a function”。

从 View 调用的函数

    $scope.lockPromise = function(fieldId) {
$scope.getLockMessage2(fieldId).getWeather()
.then(function(data) {
if (data === "returned SUCCESS info") {
alert("data is good");
} else {
alert("FAILED");
}
}, function(error) {
alert(error);
});
};

ctrl 中的第二个函数

    $scope.getLockMessage2 = function(fieldId) {
return{
getWeather: function() {
return $http.get('/api/getData')
.then(function(response) {
if (typeof response.data === "string") {
return response.data;
} else {
return $q.reject(response.data);
}
}, function(response) {
return $q.reject(response.data);
});
}
};
};

API 获取

[Route("api/getData")]
public HttpResponseMessage GetData()
{

string data = JsonConvert.SerializeObject("returned SUCCESS info");

return new HttpResponseMessage
{
Content = new StringContent(data, Encoding.UTF8, "application/json")
};
}

编辑 1:更新代码以反射(reflect)评论

最佳答案

改变

$scope.getLockMessage2(fieldId).then

$scope.getLockMessage2(fieldId).getWeather().then

关于javascript - angularjs Controller 中的 Promise - 如何实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26463193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com