Some Tips

Vue

两大特点:双向数据绑定、组件化

DOM:虚拟DOM技术

Axios 的并行任务

创建 Axios 实例

// 创建 Axios 实例
const Axios = require('axios')
const instance = Axios.create({
    baseURL: 'https://api.example.com/'
})

// 创建并行任务
let getPlaylistDetail = function(ids) {
    return instance.get(`/playlist/detail?id=${ids}`)
      .then(res=>res.data.playlist.tracks)

关于 Array.prototype.map

举例:data.map(handle)

根据传入的回调函数 handle,对于数组 data 中的每一项数据进行处理

let data = [1, 2, 3]
let handle = item => item*2
console.log(data.map(handle))
// [2, 4, 6]

关于 Axios.all

函数传入一个数组,数组内的元素为 Promise 对象。

那么如何获取异步操作结果呢?

let arr = [
    promise1(),
    promise2(),
    promise3()
]
// 第一种
Axios.all(arr)
  .then(Axios.spread((res1, res2, res3)=>{
      console.log(res1, res2, res3)
}))
// 第二种
Axios.all(arr)
  .then(data=>{
      console.log(data) // [res1, res2, res3]
  })

关于 Commander

const program = require('commander')
// 输出版本号
program.version('0.0.1')
// 绑定命令
program.command('get <id>')
  .action(function(id){
      console.log(id)
  })