相关文章推荐
深沉的金鱼  ·  渔民狂欢《幻想神域》手游鲱鱼岛大冒险·  1 周前    · 
威武的登山鞋  ·  初春珠寶推薦,怦然心動的K金珠寶|點睛品·  1 月前    · 
慷慨的包子  ·  日文八大行星Planets Of The ...·  1 月前    · 
坏坏的李子  ·  Vancouver Campus | ...·  2 月前    · 
欢乐的灭火器  ·  罪犯伙食、被服实物量标准食品安全、疾病预防控 ...·  1 年前    · 
小百科  ›  javascript - 吗一下nodejs底下如何设置无尽循环? - SegmentFault 思否
post url seg node
爱看球的围巾
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);
 
推荐文章
深沉的金鱼  ·  渔民狂欢《幻想神域》手游鲱鱼岛大冒险
1 周前
威武的登山鞋  ·  初春珠寶推薦,怦然心動的K金珠寶|點睛品
1 月前
慷慨的包子  ·  日文八大行星Planets Of The Solar System in Japanese|日文免費 ...
1 月前
坏坏的李子  ·  Vancouver Campus | Fairleigh Dickinson University
2 月前
欢乐的灭火器  ·  罪犯伙食、被服实物量标准食品安全、疾病预防控制有关情况-河北省 ...
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
小百科 - 百科知识指南
© 2024 ~ 沪ICP备11025650号