在node命令行里面,如何使用await关键字?
发布于 作者:苏南大叔 来源:程序如此灵动~

话说,从node8、node9系列,全面支持了await
和async
,这对于广大开发者来说,不得不说是个福音。这也是node做出的让步,await
和async
的横空出世,让co.js
这样的源码失去了存在的意义。在thinkjs
框架中,await
字样是满屏幕的出现,而async
似乎是个隐藏的东东,很少看到。

本文测试环境:node@9
。目前,node
全面支持了await
和async
,并不需要额外安装任何特色库。request-promise
仅仅是龙套演员。
范例代码
在thinkjs
里面,写的好好的await
相关语句,如果想改在命令行里面执行一下的话,全部报错。看来这个await
还不是我们所想像的那样。也许有人会怀疑:是不是命令行下面,node8/9系列是不是并不支持await
,并不是这样的。因为,await
的用法是特殊的,正如它迷一般的存在意义一样。
先安装request-promise
:
范例代码test.js
如下:
注意看这个代码中的写法,这个是重点,这种非框架类的单独js,必须这样才能使用await
。
下面的是命令行里面执行await
的注意事项:
await
必须放在一个async
函数里面。await
后面的对象必须是个promise
,表示等待promise
的返回值,再继续执行。mac
系统中,第一个字符必须是英文分号。(这条很雷人吧?莫名其妙错误的时候,试试这个吧)。而win
中,似乎没有这个问题。

可能的错误
不写await
的话,得到的就是一个promise
对象,而不是预想中的html
字符串。

写了await
的话,不放在async
里面,也是不符合语法结构的。

结论
本文友情出镜的npm包是request-promise
,记得npm install
一下,才能使用哦。
更多由苏南大叔带来的node相关的经验文章,请点击这里查看:https://newsn.net/tag/node/ 。


