0
私はNodeJSサーバーで作業していて、ファイル解析を実行して結果をAngularJSクライアントに送り返しています。私は以下のルータコールを持っています:NodeJSプロンプトがres.send(データ)の上でハングする
router.post('/parseFile', upload.single('file'), function(req, res, next) {
let response = response_template
let promise = new Promise(function(resolve, reject) {
commands.parseFile(req.file.filename,
req.file.originalname,
resolve,
reject);
})
.then(function(result) {
console.log("This is working", result);
res.status(200);
res.send(data);
console.log("Should be here...?");
}, function(error) {
console.log("There was an error", error);
res.status(400);
res.send(data);
});
});
ログステートメントは、"これは動作しています"と表示され、結果も出力されます。ただし、「ここにいるはずですか?」と表示されません。 res.send(data)の後ろのステートメント
データも送信されず、クライアントからは応答が受信されなかったと表示されます。 Promiseのドキュメントを見てきましたが、私が間違っていることを理解できません。どんな助けでも本当に感謝しています。ありがとう!
OH MY GOD。恥知らずな点を挿入してください。ありがとうございました。クライアントまたはサーバーでエラーメッセージが表示されませんでした。約束にうまく使えるツールはありますか? – Hsoule
さて、 'then'ハンドラに' debugger'文を挿入し、node-inspectorを使ってステップスルーすることができます。 – daf
そうですが、nullを返すとJSONが正しくフォーマットされず、クライアントにエラーが登録されるはずですが、何も表示されないと思っていました。 – Hsoule