gpt4 book ai didi

javascript - Angular 1 Promise 调用 http 可以工作,但不能使用 json 结构中的虚假数据,promise.then 不是函数

转载 作者:行者123 更新时间:2023-12-03 02:21:50 24 4
gpt4 key购买 nike

我有 AngularJS Controller ,可以很好地返回 $http 数据,但我只需要返回一些硬编码的 json 结构数据,但我得到了 Promise.then 不是一个函数。

似乎没有返回,就像我需要再次返回一样?

Controller :

 var promise = hearingFactory.getHearingSummary();

promise.then(function (response) {
vm.myData = response;
console.log('getHearingSummary promise data', vm.myData);
}, function (err) {
console.log('err', err);
});

服务

var hearingFactory = function ($http) {
var factory = {};

factory.getHearingSummary = function () {

var url = "";
url = baseUrl + "lib/questions";
url = "test.json"

//WORKS

return $http.get(url).then(function (result) {
console.log('service',result.data);
return result.data;

});

// DOESN"T work ( I comment out the above code)

return {
"flightData": [
{
"MultiCarrier": false,
"Id": "O1"
}
]

}

}

return factory;

};
  1. 我的 Controller 代码和整体服务代码都没有问题
  2. 似乎 .then 中 $http 的双重返回 promise “有效”
  3. 也许我需要一个真正的 json 数据结构的“ promise ”,如果是这样,我该怎么写?

最佳答案

第一个“有效”,因为 .then() 产生了一个 promise 。您的第二个 return 语句返回一个普通对象,这不是一个 promise 。您尝试对非 promise 的内容调用 .then

所以返回一个 promise :

return $q.when({
"flightData": [
{
"MultiCarrier": false,
"Id": "O1"
}
]
});

关于javascript - Angular 1 Promise 调用 http 可以工作,但不能使用 json 结构中的虚假数据,promise.then 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49121948/

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