gpt4 book ai didi

node.js - 如何在 Node js中promise类型的函数中完成.map函数后返回对象

转载 作者:太空宇宙 更新时间:2023-11-04 01:37:26 24 4
gpt4 key购买 nike

我使用nodejs作为服务器端代码。我在 Promise 类型的方法中使用 .map() 。这里循环执行完美执行,但问题是,方法在 .map() 函数完全执行之前返回一个值。

下面是代码,我正在使用map()函数。在这里,我只想在 .map() 完全执行后返回created_ids数组,但发生的情况是create_ids将在调用插入查询之前返回。

public createDomainUser(user:any):Promise<any> {
let created_ids:any = [];
var md5 = require('md5');
(user['password']) = md5(user['password']);
return Promise.all(user.Boards.map(boardobj => {
BasePgRepo.db.query(USER_QUERIES['insert'],vals).then(rows => {
created_ids.push(rows);
})
return created_ids;
}))
}

“returncreated_ids”应该在map()完成后调用。我是不是哪里出错了?

最佳答案

我也尝试清理你的代码。您的错误是在 BasePgRepo 调用之前缺少 return

import md5 from "md5";

class MyClass {
async createDomainUser(user: any): Promise<any> {
let created_ids: any = [];
user['password'] = md5(user['password']);
await Promise.all(user.Boards.map((boardobj: any) =>
BasePgRepo.db.query(USER_QUERIES['insert'], vals)
.then((rows: any) => {
created_ids.push(rows);
})));
return created_ids;
}
}

关于node.js - 如何在 Node js中promise类型的函数中完成.map函数后返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54086002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com