十三. async和await关键字

async:

  • 让函数异步运行,所以返回一个Promise(承诺)对象。
  • 异步函数的执行没有阻塞后面的代码执行。

await:

  • 让函数等待运行完成,再执行下一步,感觉就像取消异步。
  • 它只能在异步函数 async function中使用,否则会报错
  • 它的返回值不是Promise对象而是Promise对象处理之后的结果

个人理解:

既然await让async失效,那为什么要使用这两个关键字呢?不写不一样吗?

  • async/await 是一种编写异步代码的新方法。之前异步代码的方案是回调和 promise。
  • 简化promise的写法。使用promise很麻烦,async/await非常简洁。
  • async/await 是建立在 promise 的基础上。
  • async/await 让异步代码看起来、表现起来更像同步代码。
  • 不需要像以前一样,等一个方法的回调之后执行的需要写到这个方法的回调方法里面(内部嵌套),是不是方便多了?

实战举例:

尚品汇19集
报错:

[{ 
"resource": "/d:/heyutest/frontEndProject/ShangPinHui/app/src/store/home/index.js", 
"owner": "eslint", 
"severity": 8, 
"message": "Parsing error: Unexpected token categoryList", 
"source": "eslint", 
"startLineNumber": 9, 
"startColumn": 11, 
"endLineNumber": 9, 
"endColumn": 11 
}]

解决:
.eslintrc.js文件中添加
env: {
browser: true,
node: true,
es8: true,
},
好像是因为es6不支持async和await关键字

参考:

  • https://www.yisu.com/zixun/176919.html
  • https://www.jianshu.com/p/fb1da22f335d
  • https://blog.csdn.net/playboyanta123/article/details/99686853

你可能感兴趣的:(vue2,vue)