나는 봇 (bot)으로 느슨한 응용 프로그램을 만들려고 노력하고 있으므로 여러 콜백 기능을 수행해야하지만 세 번째 응용 프로그램을 시작하지는 못했습니다. 첫 번째 두 작품은 잘 작동하지만 마지막 작품은 시작되지 않으며 이유를 모르겠습니다. 나는 익스프레스를 사용하고있다.표현식이있는 노드 js에서 연속 콜백 함수를 수행하는 방법은 무엇입니까?
var app = express();
app.use(bodyParser());
var port = process.env.PORT || 5000;
//Fonctions de Callback
boutonSlack = function(req, res,next) { //Show the slack button to install the app
res.send('<a href="https://slack.com/oauth/authorize?scope=bot,incoming-webhook,commands,'
+'src="https://platform.slack-edge.com/img/add_to_slack.png" '
+'srcset="https://platform.slack-edge.com/img/add_to_slack.png 1x, '
+'https://platform.slack-edge.com/img/[email protected] 2x" /></a>');
console.log('cb0:le bouton slack s\'affiche');
next();
app.get('/redirect/',recupCode);
};
recupCode = function(req, res, next){//get the code parameter to perform the oauth process
console.log(req.query.code);
process.env.CODE = req.query.code;
console.log('cb1 : le code est récupéré');
res.send('cb1 : le code est récupéré');
https.get('https://slack.com/api/oauth.access?client_id='+process.env.CLIENT_ID+'&client_secret='+process.env.CLIENT_SECRET+'&code='+process.env.CODE, (res) => {
res.on('data', (chunk) => {
var result = JSON.parse(chunk);
console.log(JSON.stringify(result));
process.env.SLACKTOKEN = result.access_token;
process.env.SLACK_BOT_TOKEN = result.bot.bot_access_token;
});
});
console.log(process.env.SLACKTOKEN);
console.log(process.env.SLACK_BOT_TOKEN);
console.log('cb2 : le token est récupéré')
next();
app.get('/',ouvertureWebsocket);
};
ouvertureWebsocket = function (req, res, next) {//perform the rtm.start slack method to open the websocket
console.log('cb3 : ouverture du web socket');
res.send('cb3 : ouverture du websocket');
https.get('https://slack.com/api/rtm.start?token='+process.env.SLACK_BOT_TOKEN, (res) => {
res.on('data', (chunk) => {
var result = JSON.parse(chunk);
console.log(JSON.stringify(result));
});
});
res.end();
}
app.get('/',boutonSlack);
app.listen(port, function() {
console.log('Ready, listenning port '+port);
});
내 코드의 업데이트를 넣어. – ghosteins