###前提・実現したいこと
現在AzureのSpeech APIを利用しようとしています。
当該APIは下記のような順番で利用します。
- アクセストークンを事前にAPIにより取得する
- 取得したアクセストークンを使いAPIを叩く
これを実現するために下記のようなコードを実装しました。
javascript
1let accessToken = ''; 2 3getToken(). 4 then(postData) 5 .catch(err => console.log(err)); 6 7function getToken() { 8 return new Promise((resolve, reject) => { 9 // 非同期処理でresponseを取得(コード省略) 10 accessToken = response.body; 11 resolve(accessToken); 12 }) 13} 14 15function postData() { 16 return new Promise((resolve, reject) => { 17 // 非同期処理でaccessTokenを利用してresponseを取得(コード省略) 18 resolve(response); 19 }) 20}
上記コード自体は問題なく実行できるのですが、
これを下記のようなイメージで書く方法はありますでしょうか。
javascript
1getToken(). 2 then(postData(accessToken)) 3 .catch(err => console.log(err)); 4 5function getToken() { 6 return new Promise((resolve, reject) => { 7 // 非同期処理でresponseを取得(コード省略) 8 accessToken = response.body; 9 resolve(accessToken); 10 }) 11} 12 13function postData(accessToken) { 14 return new Promise((resolve, reject) => { 15 // 非同期処理でaccessTokenを利用してresponseを取得(コード省略) 16 resolve(response); 17 }) 18}
ポイントは下記のとおりです。
- グローバル変数を持たない
- 関数に引数を持たせて利用したい
よろしくお願いいたします。
###補足情報(言語/FW/ツール等のバージョンなど)
Node.js 7系
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/14 06:08