我正在使用ExpressJs,NodeJs,AngularJs。
让我们说我有一个数组,其中有几个对象代表杂货店账户以及银行欠他们的金额。
[{
account: 1,
amount: 2.33
},
{
account: 2,
amount: 5.99
},
{
account: 3,
amount: 6.00
}];
这个数组可以改变,并且数组中可以有1个对象或10个对象,这取决于银行欠那个星期的杂货店。
对于每个对象,我需要运行一个节点端点来传输这些钱。 例如:
const app = module.exports = express();
app.post('/transfer', (req, res) => { //Code goes in here };
如何运行app.post(' / transfer') n 次数,具体取决于数组中的对象数量?
还是一个菜鸟,所以我很难写出我的问题。 为简单起见:为数组中的每个项运行一个函数。
2项=运行两次功能。 (异步)
答案 0 :(得分:0)
您可以在请求正文中传递该数组,并调用为数组中的每个项目执行传输的辅助函数:
app.post('/transfer', (req, res) => {
const accounts = req.body;
accounts.forEach((account) => transfer(account));
};
function transfer(account) {
// perform the transfer for a single account
}
该辅助功能可以是异步,返回承诺,您可以使用Promise.all
来解决所有转移:
app.post('/transfer', (req, res) => {
const accounts = req.body;
const transferPromises = accounts.map((account) => transfer(account));
Promise.all(transferPromises).then(...).catch(...);
};
function transfer(account) {
// returns a promise of transfer for a single account
}