Javascript 使用promise for array进行映射

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.

似乎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.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调用),否则这不会做任何有价值的事情。那么,我实际上应该如何做呢?除非您有其他代码需要在发生这种情况时继续处理,否则没有理由不只做代码并花时间去做。错误是什么?