gpt4 book ai didi

javascript - 尝试在 Promise 中设置值。然后返回未定义

转载 作者:行者123 更新时间:2023-11-28 18:23:07 24 4
gpt4 key购买 nike

我是 Angular 1.5 的新手,过去常常依赖 $scope 来做这样的事情,我会将 Promise 的返回值绑定(bind)到作用域。我位于服务内部,并尝试通过 promise 返回数据,并且我希望通过该服务公开该数据。但是,数据 mockData 未定义:

let mockData;
function getWidgets() {
return $http.get(`${RuntimeConfig.DEV_API_URL}/widgets`, { cache: widgetsCache })
}
getWidgets().then(function(data) {
mockData = data.data;
})
console.log(mockData); //undefined.

该服务的返回值:

    return {
mockData
};

我以前解决这个问题的方法是声明$scope.mockData,但我不能这样做,因为a)它现在是一个反模式b)我在服务中。我做错了什么或遗漏了什么?

最佳答案

mockData 将是未定义,因为它甚至在 GET 请求完成之前就已返回。处理此问题的一种方法是从服务返回 promise 并在 Controller 中处理 promise 解析。

关于javascript - 尝试在 Promise 中设置值。然后返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39624083/

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