NodeJ 및 setTimeout

6803 단어 nodejavascript
여러분 안녕하세요, 저 또 왔어요!!! =디 =디 =디

우선, 나는 때때로 내가 영어를 말하는 마스터 요다처럼 보인다는 것을 실제로 깨달았습니다. 이상해 =( =D =( =D ...

자, 정말 중요한 것이 무엇인지 이야기해 봅시다.
NodeJsjavascript를 해석하더라도 많은 js 기능이 브라우저 엔진에 의해 컴파일되면 Node 플랫폼에서 작동하지 않는다는 것을 누구나 알고 있습니다.

알았어 알았어... 여기 뉴스가 없어!!!

하지만 어젯밤에 나는 Node 를 가지고 놀다가 timers 라는 패키지를 볼 때까지 설명서를 읽었습니다.

흠흠, 흥미롭군. 무엇을합니까?

계속 읽다가 함수setTimeout를 발견했습니다. 어때? wer 브라우저에서 실행되는 동일한 기능이 될 수 있습니까?

확인 해보자!!!

이 정보를 사용하여 단일 POST 메서드와 타이머 키가 포함된 json이 포함된 본문으로 간단한 익스프레스 서버를 만들었습니다.

Annnnnnd yeeeeeeeesNodejs에는 기본setTimeout이 있으며 웹 브라우저에서 실행되는 것처럼 작동합니다.

그래서 내 예는 다음과 같았습니다.

const express = require('express');
const http = require('http');

const app = express();

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  next();
});

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.post('/', async (req, res) => {
  const { timer } = req.body;

  const promise = () => new Promise((resolve) => {
    setTimeout(function () {
      resolve(res.status(200).send("weeeeeeeeeeeee"));
    }, timer);
  });

  try {
    await promise();
  } catch (err) {
    res.status(500).send('my bad ...');
  }
});

const server = http.createServer(app);

server.listen(3000, () => console.log('running'));


그리고 우리의 요청은 다음과 같아야 합니다.

curl -i -X POST localhost:3000 -H "Content-type: application/json" -d '{"timer": 1000}'


이것은 매우 간단한 예이지만 알 수 있듯이 요청 본문에는 키 타이머가 있는 객체가 있으며 이것은 express가 요청에 응답하는 데 걸리는 시간입니다.

네... setTimeout 엔진에서 Node를 사용할 방법이 있습니다.

왜 사용해야 합니까? 나도 모르고 상관없어 그냥 존재한다는 것만 알아!!!!!!

이 동일한 예를 사용하여 AbortController 작업을 할 때 다음 장에서 뵙겠습니다.

좋은 웹페이지 즐겨찾기