promise与async await
- await后面接一个会return new promise的函数并执行它
- await只能放在async函数里
async中使await先执行,等到三秒后执行完再把得到的结果赋值给左边的n,也就是说该函数需要三秒钟才执行完成,所以该函数是异步的,因此前面必须写async,来达到同步的目的,没有延迟
//在服务器端把Vue转换成字符串
//promise的三个版本
//1.创建vue实例
const Vue = require('vue')
const app = new Vue({
data:()=>{
return {
name:'liuchang'
}
},
template:`<div>hello Vue SSR --{{name}}</div>`
})
//2.创建vue的渲染器render
const render = require('vue-server-renderer').createRenderer()
//3. 将Vue实例渲染完成,完成html(data+template融合)
//版本一 callback
render.renderToString(app, (err, html) => {
if (err)
throw err;
console.log(html);
})
//版本二 then
render.renderToString(app)
.then(html => {
console.log(html);
})
.catch(err => {
console.log(err);
})
//版本三 await
async function renderToString() {
try {
const html = await render.renderToString(app)
console.log(html);
} catch (error){
console.log(error);
}
}
renderToString()
版本三是利用async和await,把await和成功后的操作放到try里,失败的放在catch,为什么要用await,为了使我们的异步代码,更像同步的代码
爬虫
发送请求——获得页面——解析页面——抽取并储存内容
它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。