Callback, Promise, Async的使用区别

callback

  • 普通情况下,遇到异步情况,可以使用callback的方式,在拿到数据后执行回调函数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import axios from 'axios';
    const url = 'https://www.apiopen.top/weatherApi?city=成都';
    const getWeatherByCallback = (url, callback) => {
    axios.get(url).then(json => {
    callback(json);
    });
    }
    getWeatherByCallback(url, (data) => {
    console.log(JSON.stringify(data));
    });
阅读全文〉

数据结构-堆

描述

  • 堆是一类特殊的树,堆的通用特点就是父节点会大于或小于所有子节点。
  • 如果一棵有根树的每一个结点至多有两个儿子,那么这棵树称为二叉树。
  • 如果一棵二叉树的每一个节点都带着一个值,且父亲的值总是比儿子的值要大,我们称这棵树为大顶二叉堆,如果是父亲比儿子都要小,那就是小顶二叉堆,统称为二叉堆。(其实一般都把二叉两个字省略掉,毕竟通常说的堆都是二叉堆,然而堆不止二叉堆)。这一个良好的性质注定了堆可以用来当作优先队列使用。
阅读全文〉

数据结构-二叉树

描述

  • 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。
  • 一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点,则此二叉树为完全二叉树。具有n个节点的完全二叉树的深度为floor(log2n)+1。深度为k的完全二叉树,至少有2k-1个叶子节点,至多有2k-1个节点。
阅读全文〉