如何在循环的每次迭代中使用不同的主体数据在 For 循环中执行多个 axios POST 请求?

里蒂克·帕特尔

我有一个 postData 数组,它的每个元素都是每次我们发出 Axios POST 请求时都需要传入的主体。

我在运行脚本时面临未处理的承诺拒绝错误,我对异步编程还很陌生,并且一直在努力解决这个错误。

脚本是这样的:

const axios = require('axios')
const fs = require('fs')

var textFileContainingData = fs.readFileSync('data.txt').toString().split("\r\n");
console.log(textFileContainingData);

let axiosConfig = {
    headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer XXXXXX',
        'X-Correlation-ID': '1234',
    }
  };

for (i=0; i<textFileContainingData.length; i++) {
    
    var postData = {
        data: textFileContainingData[i]
    };

    console.log(postData)
    
    const getData = async () => {
        try {
            return await axios.post('https://example-api-url/endpoint', postData, axiosConfig)
        } catch (error) {
            console.error(error)
        }
    }
          
    const callEndpoint = async () => {
        const responseData = await getData()
    
        console.log(responseData)
    }
    
    callEndpoint();
}
艾哈迈德·艾尔赛德

我的第一个答案是错误的,我已将其删除。该错误与承诺有关,可能 axios.post 失败,请在尝试代码后发布堆栈跟踪

一些补充说明:

  1. 使用 .forEach 提高可读性
  2. 使用axios.post({}).then(response => {}).catch(err => {}),您可以省略 .then 并只留下.catch()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章