在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
:
npm install request-promise --save
范例代码test.js
如下:
var request = require('request-promise');
;(async(plus) => {
var body = await request.get('https://www.baidu.com/');
console.log(body,plus)
})("params");
注意看这个代码中的写法,这个是重点,这种非框架类的单独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/ 。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。