本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规。大家都是程序员,不要闹得不开心。

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

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

范例代码

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关键字?(图5-2)

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

发生错误的时候截图

下面的截图都是错误的。仅供参考。

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

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

结论

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

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

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