前提・実現したいこと
SLACKのユーザIDから表示名(display_name)を得るスクリプトをサーバ上の Node.js で実現しようと思いました。
そこで Windows 版の node.js v10.15.1 を使って、サーバから取得した JSONをパースして、必要な値をget_user_name関数の外側で使いたいと考えました。
発生している問題・エラーメッセージ
ログ(result_txtの値)が出力されない(正確には、改行が1行出力される)。
該当のソースコード
Node.js
1var get_user_name = require('request'); 2global.result_txt=""; 3 4const url1 = 'https://slack.com/api/users.info?token=xoxp-HIMITSU-HIMITSU-HIMITSU&user='; 5const url2 = '&pretty=1'; 6 7user = 'X1X1X1XX1'; 8 9var options = { 10url: url1+user+url2, 11method: 'GET', 12json: true 13} 14 15get_user_name(options,function (error, respinse,body ){ 16 result_txt=(body.user.profile.display_name).toString; 17}) 18 19console.log(result_txt);
試したこと
Node.js
1get_user_name(options,function (error, respinse,body ){ 2 result_txt=(body.user.profile.display_name).toString; 3 console.log(result_txt); 4})
とすると、正しく表示ユーザがログに取得できますが、関数外で使いたいので、
Node.js
1get_user_name(options,function (error, respinse,body ){ 2 result_txt=(body.user.profile.display_name).toString; 3}) 4console.log(result_txt);
と書いても動く形に持っていきたいです。単純な発想で、Global変数を使えば解決できると思ったのですが、どうやら、関数の中の変数と外の変数で、型が違うのでこの問題が起きているような気がします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/28 11:46