从数组对象调用javascript服务/方法

时间:2019-07-01 20:31:41

标签: javascript function methods

我有这个数组:

-n

其中“服务”是axios的包装文件,例如:

[
   {service: "AssignmentService", method: "saveMillaje", params: [1, 'some param'], id: 1},
   {service: "AssignmentService", method: "saveMillaje", params: [1, 'some param', { otherData: 'data' }], id: 2}
]

我需要在我的应用程序的某个位置调用并执行带有所有参数的数组的位置1。

对此进行转换:

// AssignmentService.js
import Http from './Http';
const endpoint = 'assignment';
export default {
   saveMillaje(param1, param2, param3) {
      // do something
      // this will return a PROMISE
   },
};

收件人:

{service: "AssignmentService", method: "saveMillaje", params: [1, 'some param', { otherData: 'data' }], id: 2}

我不知道要实现这一目标。你能帮助我吗?非常感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:2)

import AssignmentService from 'services/AssignmentService';
import OtherService from 'services/OtherService';
var services = {AssignmentService, OtherService}

someMethod(obj){
   services[obj.service][obj.method].apply(null, obj.params).
   then((response)=> {
     // So something
   });
}

然后,您可以从数组中传入对象。