为数组中的每个项目运行节点端点?

我正在使用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项=运行function两次。 (asynchronous)

       

网上收集的解决方案 "为数组中的每个项目运行节点端点?"

您可以在请求正文中传递该数组,并调用一个辅助函数来为数组中的每个项目执行传输:

 app.post('/transfer', (req, res) => { const accounts = req.body; accounts.forEach((account) => transfer(account)); }; function transfer(account) { // perform the transfer for a single account } 

那个辅助函数可以是asynchronous的,返回一个promise,你可以使用Promise.all来parsing所有的传输:

 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 }