2017-10-16 25 views
0

コールバックに該当しない、とそのエラーを期待することは、コールバックに分類されます:エラーは、私が<a href="https://github.com/indexzero/http-server" rel="nofollow noreferrer">http-server</a>を使用してい

return require('http-server').createServer().httpServer.listen(-1, (e) => { 
    console.log(e); // Error is not here 
} 

が、それはない、と私は唯一の難点でエラーを取得することができます:

try { 
    return require('http-server').createServer().httpServer.listen(-1, (e) => { 
     console.log(e); // Error is not here 
    } 
    catch(e) { 
     console.log(e); //Error is here! 
    } 
} 

コールバックでエラーを取得するにはどうすればよいですか?

+0

だから、問題は何でしょう、あなたはエラーをキャッチしましたか? – adeneo

+0

問題は、この機能をPromiseにラップしたいということです。 '' ' return新しいPromise((resolve、reject)=> { require( 'http-server'))createServer()。httpServer。 ( ' リターン新しい約束:? } ' '' –

答えて

0

個人的にはhttp-serverでの経験はありませんが、ネイティブhttpサーバーと同じことをやり遂げ、イベントエミッタを返すことが期待されます。

Node.js http.createServer how to get error

0

.listenを参照してください(-1ここでは)与えられたポート上のすべての成功したトラフィックを聞いているので、エラーをキャッチするつもりはありません。

return (require('http-server').createServer()).on("error", err => { 
    return reject (err); // or your own error handling 
}); 

以上の冗長にする:あなたが好きなエラーイベントハンドラを作成する必要が

let server = require('http-server').createServer(); 
server.on("error", function (err) { 
    return reject(err); // or your own error handling 
} 
return server; 
+0

さて、{ リターンは(e)の 拒否}が、約束にそれをラップする方法私はこれを実行しようとしました> =(-1、(e)を聞きます(解決、リジェクト)=> { 必要とする( 'HTTPサーバ')createServer()httpServer.listen(-1、(E)=> リターン(E) }拒否{。。} ' –

+0

HTTPS: //pastebin.com/3a8QWsw2 –

+0

'http-server'には' on 'は購読していないようです: '> require(' http-server ')。createServer()。on 未定義 ' –

関連する問題