javascript - 如何在 Angular JS Factory 中定义多个函数并在另一个函数中调用一个函数

标签 javascript angularjs function angularjs-factory

任何人都可以帮助我如何在 Angular JS Factory 中创建多个函数,并且我想访问一个函数的返回值并在另一个函数中处理某些内容,我在下面尝试过但没有成功

在下面的函数中,我想在modifyProduct函数中获取我们从getProduct(response.data)获取的值

我提到了以下问题,但没有得到太多理解

AngularJS : From a factory, how can I call another function

Calling a function in another function with AngularJS factory

 app.factory('ProductsService', function($http) {
  function getProduct() {
    return $http.get('finalmsodetails.json').then(function(response) {
      console.log(response.data);
      return response.data;
    });
  }

  function modifyProduct() {
    this.getProduct().then(function(value) {
      console.log(value);
    });
  }
  return {
    getProduct: getProduct,
    modifyProduct: modifyProduct
  };
});

最佳答案

你已经很接近了。只需删除 this.,因为您正在调用本地范围内定义的另一个函数,而不是对象上的某些方法。我认为您可能会希望修改产品返回 promise ,以便任何调用此函数的人都可以知道它何时成功或失败。

function modifyProduct() {
  return getProduct().then(function(value) {
    console.log(value);
  });
}

关于javascript - 如何在 Angular JS Factory 中定义多个函数并在另一个函数中调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46250134/

相关文章:

javascript - 数组 javascript indexOf

javascript - 如何查看带有引号内的文本的字符串,但使用正则表达式忽略括号内的任何内容?

python - 复制签名,转发包装函数的所有参数

javascript - 使用 Jquery 或 JavaScript 从对象数组中删除对象数组

.net - 如何在 VB.NET 中声明嵌套函数?

c - 解释一下下面的代码?

javascript - 在 ES6 中使用默认值和扩展语法

javascript - 始终至少显示两位小数

javascript - Angular Promise ($q) 不工作

c# - 使用 AngularJS 将 ASP.NET CORE Web 应用程序发布到 IIS