我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

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

苏南大叔:在node命令行里面,如何使用await关键字? - node-await
在node命令行里面,如何使用await关键字?(图4-1)

本文测试环境:node@9。目前,node全面支持了awaitasync,并不需要额外安装任何特色库。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中,似乎没有这个问题。

苏南大叔:在node命令行里面,如何使用await关键字? - 002
在node命令行里面,如何使用await关键字?(图4-2)

可能的错误

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

苏南大叔:在node命令行里面,如何使用await关键字? - 000
在node命令行里面,如何使用await关键字?(图4-3)

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

苏南大叔:在node命令行里面,如何使用await关键字? - 001
在node命令行里面,如何使用await关键字?(图4-4)

结论

本文友情出镜的npm包是request-promise,记得npm install一下,才能使用哦。

更多由苏南大叔带来的node相关的经验文章,请点击这里查看:https://newsn.net/tag/node/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   node    thinkjs