NodeJ 및 setTimeout
6803 단어 nodejavascript
우선, 나는 때때로 내가 영어를 말하는 마스터 요다처럼 보인다는 것을 실제로 깨달았습니다. 이상해 =( =D =( =D ...
자, 정말 중요한 것이 무엇인지 이야기해 봅시다.
NodeJs
가 javascript
를 해석하더라도 많은 js
기능이 브라우저 엔진에 의해 컴파일되면 Node
플랫폼에서 작동하지 않는다는 것을 누구나 알고 있습니다.알았어 알았어... 여기 뉴스가 없어!!!
하지만 어젯밤에 나는
Node
를 가지고 놀다가 timers
라는 패키지를 볼 때까지 설명서를 읽었습니다.흠흠, 흥미롭군. 무엇을합니까?
계속 읽다가 함수
setTimeout
를 발견했습니다. 어때? wer 브라우저에서 실행되는 동일한 기능이 될 수 있습니까?확인 해보자!!!
이 정보를 사용하여 단일 POST 메서드와 타이머 키가 포함된 json이 포함된 본문으로 간단한 익스프레스 서버를 만들었습니다.
Annnnnnd yeeeeeeees
Nodejs
에는 기본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
작업을 할 때 다음 장에서 뵙겠습니다.
Reference
이 문제에 관하여(NodeJ 및 setTimeout), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/felipepaz/nodejs-and-settimeout-g16텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)