Javascript 使用promise for array进行映射
似乎json的映射确实需要时间,我想使用promise等待它Javascript 使用promise for array进行映射,javascript,node.js,fastify,Javascript,Node.js,Fastify,似乎json的映射确实需要时间,我想使用promise等待它 formatDataOutput: function (jsonData) { return new Promise(function (resolve, reject) { let a = JSON.parse(jsonData) let b = data.b.map(p => ({ store: p[0], surname: p[1] })) let l = data.
formatDataOutput: function (jsonData) {
return new Promise(function (resolve, reject) {
let a = JSON.parse(jsonData)
let b = data.b.map(p => ({ store: p[0], surname: p[1] }))
let l = data.l.map(p => ({ store: p[0], surname: p[1] }))
let e = data.e.map(p => ({ store: p[0], address: p[1] }))
let eT = data.eT.map(p => ({ store: p[0], address: p[1], name: p[2] }))
let bx = data.bx.map(p => ({ store: p[0], surname: p[1] }))
let e = data.e.map(p => ({ store: p[0], address: p[1] }))
let eT = data.eT.map(p => ({ store: p[0], address: p[1], name: p[2] }))
let t = data.t.map(p => ({ store: p[0], address: p[1] }))
let tT = data.tT.map(p => ({ store: p[0], address: p[1], name: p[2] }))
let x = data.x.map(p => ({ store: p[0], address: p[1], viewkey: p[2] }))
let formattedData = {
b: b,
l: l,
e: e,
eT: eT,
bx: bx,
e: e,
eT: eT,
t: t,
tT: tT,
x: x
}
console.log(formattedData) // -> Its correct
resolve(formattedData)
})
}
func.formatDataOutput(data).then((formattedData) => {
reply.send(formattedData) // -> Its {}
})
我尝试了
Promise.all
,它返回的是non-Iterable,基本上我需要formattedData
的输出,当它准备好的时候 除非您有任何异步调用(文件I/O、API调用),否则这不会做任何有价值的事情。那么,我实际上应该如何做呢?除非您有其他代码需要在发生这种情况时继续处理,否则没有理由不只做代码并花时间去做。错误是什么?