动态axios函数通过解析对象来实现



我试图通过解析一个对象,为我的NodeJS项目构建一个可重用的axios函数,这样我就可以串行放置多个请求,但也可以在以下请求中使用数据的结果。

以前我对axios请求进行了硬编码和链接,但随着应用程序的发展,我需要一个更动态的解决方案。我的两个axios函数(简化为输入/输出(:

@function getTitle(params)
@param Object
@returns Response Object
@function getDescription(params)
@param Object
@returns Response Object

所以我有两个基本的异步函数来返回axios请求。现在我需要一个接受以下输入的函数:

let input = {
title: {
name: "getTitle",
input: {
"keyword": "initial",
"option": "second"
},
output: "getTitle.text"
},
description: {
name: "getDescription",
input: {
"title": "getTitle.title"
},
output: "getDescription.text"
}
}

为了描述我的函数将如何处理输入对象,我们循环每个键(标题、描述(,将使用名称值字符串,并使用new Function引用我们现有的函数,然后使用输入对象作为参数。

但这正是我的症结所在,我还需要循环输入对象值,用点表示法,以引用以前的调用。这个函数的最终结果是产生这样的结果:

{
"title": "This is a title",
"description": "this is a description"
}

因此,在我丢失的地方,我不知道如何编写这个函数,我现在已经尝试过几次了,我不确定结果是否应该存储在一个单独的对象中,这样其他对象就可以引用它

有没有其他人尝试过类似的东西,你会如何编写这个函数?

感谢

幸运的是,两周后,我又回到了问题上来。事实证明,我确实需要将数据存储在一个单独的对象let newObj = {}中。

并在输入对象上循环,并使用一个函数来检查点符号,(它可以选择newObj或newOutput作为对象中的第二个项目(,然后将这些键/值分配给不同的对象let newOutput = {}

一旦我遍历了每一个,函数就会以输入对象的格式返回newOutput对象。

最新更新