Fireabaseのcloud functionsで、node.jsを実行しています。
コードはいかの通りです。
const fs = require('fs'); const firebase = require('./firebase'); const storage = firebase.storage; const createArticleHtml = (snap, context) => { console.log("in createArticle Html"); console.log("snap is this : ", snap); const data = snap; const md_data_path = data.body; console.log("path is : ", md_data_path); getMdFileFromStorage(md_data_path) .then((md_data) => { return mdToHtml(md_data) }) // ここから処理が続く
const getMdFileFromStorage = (path) => { return new Promise((resolve, reject) => { console.log("in getMdFileFromStorage"); const file = storage.bucket().file(path); file.createReadStream() .on('error', (err) => { console.log("Error in getMdFileFromStorage"); reject(err); }) .on('response', (response) => { console.log("response : ", response); console.log("response.read() : ", response.read()); resolve(response); }) .on('end', () => { console.log("getMdFile is finished") }) }) }
以上を実行すると、処理が途中で詰まってしまいます。
FIreabse のコンソール上から確認すると、なぜか、console.logもエラーの記載もなく、処理が止まっていることが確認できます。
具体的には、console.log("in getMdFileFromStorage");
が実行されるのを最後に、その先の処理がまったく続きません。
自分の想定としては、file.createReadStream()
から先で、エラーなど際にも対応する処理を行っているため、エラーが起きた場合はそのことが何かしらわかるものと考えているのですが、何も表示されません。
なぜ処理が詰まっているのか、お分かりになる方いらっしゃいましたら、お力を貸してほしいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/21 02:10 編集
2018/08/21 03:13