相关文章推荐
曾深爱过的烤红薯  ·  Jackson的核心类与API方法:Obje ...·  1 月前    · 
谦虚好学的钥匙  ·  Java 遍历JsonNode·  1 月前    · 
爱笑的帽子  ·  【pytho】3以上版本使用pickle.l ...·  2 年前    · 
老实的火腿肠  ·  Kotlin反射重要组件与流程详解 - ...·  3 年前    · 
Code  ›  javascript - 请问一下nodejs里面如何设置无限循环? -
post url seg node
https://segmentfault.com/q/1010000022997672
爱看球的围巾
2 年前
segmentfault segmentfault
注册登录
问答 博客 标签 活动
发现
✓ 使用“Bing”搜本站 使用“Google”搜本站 使用“百度”搜本站 站内搜索
注册登录
  1. 首页
  2. 问答
  3. javascript
  4. 问答详情

请问一下nodejs里面如何设置无限循环?

头像
程序媛
59 2 15 26
发布于
2020-06-22
更新于
2020-06-23

如何可以让这段代码无限循环

const request = require("request");
let url = 'http://xxxxxxx';
function post(n){
    request({
        url: url,
        method: "POST",
        headers: {
            "content-type": "application/json",
    }, function(error, response, body) {
        if(body !== undefined){
            let buff = Buffer.from(body)
            //console.log(buff)
            buff = buff.slice(3,buff.length)
            let data = JSON.parse(buff)
            if(data.code == '1'){
              console.log(n);
            }else{
              settimeout(post, 2000);
for(let n = 1; n < 100000; n++){
    setTimeout(post, 300*n, n);
node.js javascript
阅读 2.8k
4 个回答
得票 最新
头像
996ICU
341 1 7 21
发布于
2020-06-22

let n = 0
while(true){

post(n++)
头像
hfhan
27k 6 17 35
发布于
2020-06-22
const request = require("request");
let url = 'http://tj.viphxw.com/index/delkey';
function post(n){
    request({
        url: url,
        method: "POST",
        headers: {
            "content-type": "application/json",
    }, function(error, response, body) {
        if(body !== undefined){
            let buff = Buffer.from(body)
            //console.log(buff)
            buff = buff.slice(3,buff.length)
            let data = JSON.parse(buff)
            if(data.code == '1'){
              console.log(n);
            }else{
        //定时器放在这里,2s后再次运行post
        settimeout(post, 2000, n++);
post(0)
头像
边城
58.6k 11 66 66
发布于
2020-06-22

不知道你是不是用的 这个 ,官方已经声明不推荐使用了。

我推荐你用 Axios 吧,

然后封装成 Promise 使用 await 来写就很方便了,比如

async function delay(milliseconds) {
    return new Promise(resolve => {
        setTimeout(resolve, milliseconds);
async function post(n) {
    return axios.post(url, { headers });
(async () => {
    for (let n = 0; n < 100000; n++) {
        await post(n);
        await delay(2000);
 
推荐文章
曾深爱过的烤红薯  ·  Jackson的核心类与API方法:ObjectMapper、JsonNode、ObjectNode、ArrayNode_jackson api
1 月前
谦虚好学的钥匙  ·  Java 遍历JsonNode
1 月前
爱笑的帽子  ·  【pytho】3以上版本使用pickle.load读取文件报UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6_brucewong0516的博客-CSDN博客
2 年前
老实的火腿肠  ·  Kotlin反射重要组件与流程详解 - cexo - 博客园
3 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号