블리자드 API Battle.Net에 몇 가지 정보, 문자 이름 및 영역이 있는지 묻습니다. 사용자가 존재하지 않는 문자를 쿼리 할 수 있으므로 블리자드가 404를 다시 던졌습니다. 나와 내 server.js 파일을 처리 할 수있는 무언가를 넣을지라도 무엇을해야할지 모릅니다.Express.js 오류 처리를 허용하지 않음 : 예외가 발생했습니다 : 오류 _runMicrotasks();
Releveant server.js 코드 : 문자 DNE! 대신 vscode이 좀 빨간색 오류 코드를 제공합니다 : I는 사용자에게 클라이언트에 무언가를 전송하여 (200) 아니에요 아무것도 처리하려고
var express = require('express');
var app = express();
var fs = require('fs');
var bodyParser = require('body-parser');
var jsonParser = bodyParser.json();
const blizzard = require('blizzard.js').initialize({apikey: "dummy"});
app.use(express.static(__dirname + '/Source'));
//Listen on port 3000
app.listen(3000, function() {
console.log("Launch successful. To access app, open your browser and insert the following URL into your address bar: http://localhost:3000/");
});
app.post('/buttonpress', jsonParser, function (req, res) {
blizzard.wow.character(['profile'], { origin: 'us', realm: req.body.realm.name, name: req.body.name })
.then(response => {
if(response.status != 200){
res.send("That character doesn't exist! Please enter a valid character name.");
} else {
console.log(response.data);
res.send(response.data);
}
});
});
이 게시물의 제목에 언급 된 (어쨌든 vscode 디버거에서).
node server.js
을 실행하는 명령 줄에서이 작업을 시도하면 검색 버튼을 클릭해도 아무런 반응이 없습니다. 중단 점을 설정했는데 함수가 서버에서 응답을받지 못하는 것 같습니다. 그래서 404는 무엇이든지 상관없이 일어난다. 그러나 나는 그것을 어떻게 다룰 지 알 수 없다.
올바르지 않습니다. ['listen()'은 Node Core API (https://nodejs.org/dist/latest-v9.x/docs/api/http.html#http_server_listen)에 의해 제공되며 미들웨어 스택과는 아무런 관련이 없습니다. Express가 제공합니다. 일단'listen()'이 호출되면 소켓은 들어오는 연결을 위해 지정된 주소와 포트에서 청취하기 시작합니다. 이렇게하면'listen()'후에 정의 된 라우트 핸들러를 차단하지 않습니다. – peteb
@peteb 대단히 감사합니다. 이 문제를 제공하고 대답 할 수 있다면 도움이 될 것입니다. 감사. –