Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能就我的Axios Post请求提供建议吗?_Javascript_Post_Axios - Fatal编程技术网

Javascript 有人能就我的Axios Post请求提供建议吗?

Javascript 有人能就我的Axios Post请求提供建议吗?,javascript,post,axios,Javascript,Post,Axios,我尝试使用axios将多个对象从一个数组发布到一个API,我还尝试将post请求限制为每10秒1个。我有下面的代码,但它没有给我任何东西,没有响应,错误,什么都没有。我做错了什么 const axios = require("axios"); const { auth, baseUrl } = require("./connect"); const fs = require("fs"); // POST sample data function postSales() { auth.the

我尝试使用axios将多个对象从一个数组发布到一个API,我还尝试将post请求限制为每10秒1个。我有下面的代码,但它没有给我任何东西,没有响应,错误,什么都没有。我做错了什么

const axios = require("axios");
const { auth, baseUrl } = require("./connect");
const fs = require("fs");

// POST sample data
function postSales() {
  auth.then(result => {
    let token = result.access_token;

    const data = fs.readFileSync("./temp/converted.json", "utf-8");
    setTimeout(() => {
      data.forEach(sale => {
        axios
          .post(
            `${baseUrl}/sale.json`,
            { sale },
            {
              headers: {
                Authorization: `Bearer ${token}`,
                scope: `employee:all`
              }
            }
          )
          .then(res => console.log(res))
          .catch(err => console.error(err));
      });
    }, 10000);
  });
}

postSales();

fs.readFileSync
返回数据的字符串化版本。您需要
JSON.parse

const data=JSON.parse(fs.readFileSync(“./temp/converted.JSON”,“utf-8”);)
使用
setTimeout
setInterval
将操作发送到事件队列,并使等待间隔变得非常困难。使用
for
循环和
async
/
wait
语法更易于编写和推理。javascript中不存在
sleep
函数,但很容易自己创建一个

const sleep=ms=>新承诺((解析)=>setTimeout(解析,ms))
然后(异步结果=>{
let token=result.access\u token;
const data=JSON.parse(fs.readFileSync(“./temp/converted.JSON”,“utf-8”);)
用于(出售数据){
试一试{
const res=await axios.post()//为简洁起见,未添加参数
console.log(res)
等待睡眠(10_000)//10秒
}捕获(e){
控制台错误(e)
}
}
})

fs.readFileSync
返回数据的字符串化版本。您需要
JSON.parse

const data=JSON.parse(fs.readFileSync(“./temp/converted.JSON”,“utf-8”);)
使用
setTimeout
setInterval
将操作发送到事件队列,并使等待间隔变得非常困难。使用
for
循环和
async
/
wait
语法更易于编写和推理。javascript中不存在
sleep
函数,但很容易自己创建一个

const sleep=ms=>新承诺((解析)=>setTimeout(解析,ms))
然后(异步结果=>{
let token=result.access\u token;
const data=JSON.parse(fs.readFileSync(“./temp/converted.JSON”,“utf-8”);)
用于(出售数据){
试一试{
const res=await axios.post()//为简洁起见,未添加参数
console.log(res)
等待睡眠(10_000)//10秒
}捕获(e){
控制台错误(e)
}
}
})

What’s sale,json
readFileSync
返回一个缓冲区(?)。你认为
data.forEach
做什么?
${baseUrl}/Sale.json
几乎肯定是个错误。这应该是您正在发布的api端点的名称to@Andrew没有错。它使用一个变量来存储基本url。@Darrymorley如果
Sale.json
是一个变量,您就忘了对它进行字符串插值。它应该是
${baseUrl}/${Sale.json}
what in Sale,json
readFileSync
返回一个缓冲区(?)。你认为
data.forEach
做什么?
${baseUrl}/Sale.json
几乎肯定是个错误。这应该是您正在发布的api端点的名称to@Andrew没有错。它使用一个变量来存储基本url。@Darrymorley如果
Sale.json
是一个变量,您就忘了对它进行字符串插值。它应该是
${baseUrl}/${Sale.json}
谢谢这个@Andrew,我只是在阅读之前将它设置为parse,并且它在我键入时运行。我喜欢你写这篇文章的方式,更加清晰。感谢@Andrew,我在阅读这篇文章之前将它设置为parse,它在我键入时运行。我喜欢你写这篇文章的方式,更加清晰。