await new Promise((resolve, reject) => {\n console.log('before');\n server.listen(port, err => {\n console.log('after');\n if (err) {\n reject(err);\n }\n resolve();\n });\n });\nRun Code Online (Sandbox Code Playgroud)\n\n结果:
\n\nbefore\n[ \xe2\x9c\x98 error ] Application encountered an unexpected error, exiting\n 2017-02-01T12:38:46.071Z /home/karlm/dev/node/project/src/index.js:21:19\n[ \xe2\x9c\x98 error ] { Error: listen EADDRINUSE :::3030\n at Object.exports._errnoException (util.js:1022:11)\n at exports._exceptionWithHostPort (util.js:1045:20)\nRun Code Online (Sandbox Code Playgroud)\n\n如您所见,before已打印,但没有打印after?好像崩溃了,没有调用回调?
解决于:
await new Promise((resolve, reject) => {
server.listen(port, () => {
resolve();
}).on('error', (err) => {
reject(err);
});
});
Run Code Online (Sandbox Code Playgroud)
该文档并没有真正暗示我必须使用on.
| 归档时间: |
|
| 查看次数: |
2005 次 |
| 最近记录: |