gpt4 book ai didi

javascript - 调用 Provider 模块的 $get 中的函数会导致 TypeError

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

这是我的提供商。

App.provider('cloudinaryDetails', function(CloudinaryProvider){

function setCloudinaryDetails(cloudinaryDetails){
CloudinaryProvider.configure({
cloud_name: cloudinaryDetails.cloud_name,
api_key: cloudinaryDetails.api_key
});
}

this.$get = function($http){
return {
initialize: function(){
return $http.get('path/to/api').then(function(response){
setCloudinaryDetails(response.data);
});
}
};
};

});

我正在调用配置模块中的初始化函数

App.config(function(cloudinaryDetailsProvider){
cloudinaryDetailsProvider.initialize();

});

控制台错误:

[$injector:modulerr] 无法实例化模块应用程序,原因是:类型错误:cloudinaryDetailsProvider.initialize 不是函数

最佳答案

原因:

您正在注入(inject)cloudinaryDetailsProvider“provider”,但initialize未在提供程序上定义,而是在实例上定义。

建议修复:

要获取对 cloudinaryDetails“实例”的引用,请创建一个运行 block 并注入(inject)实例而不是提供程序。

App.run(function(cloudinaryDetails){
cloudinaryDetails.initialize();
});

参见AngularJS docs有关提供商如何工作的说明

关于javascript - 调用 Provider 模块的 $get 中的函数会导致 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39464624/

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