首先通过一段代码进入讨论的主题 var r = new Promise(function(resolve, reject){ console.log("a"); resolve() }); setTimeout(()=>console.log("d"), 0) r.then(() => console.log("c")); console.log("b") // a b c d 了解过 Promise 对象的都知道…
当浏览器或者Node拿到一段代码时首先做的就是传递给JavaScript引擎,并且要求它去执行. 然而,执行 JavaScript 并非一锤子买卖,宿主环境当遇到一些事件时,会继续把一段代码传递给 JavaScript 引擎去执行,此外,我们可能还会提供 API 给 JavaScript 引擎,比如 setTimeout 这样的 API,它会允许 JavaScript 在特定的时机执行. 所以,我们首先应该形成一个感性的认知:一个 JavaScript 引擎会常驻于内存中,它等待着我们(宿主)把…
一道经典的前端笔试题,你能一眼写出他们的执行结果吗? async function async1() { console.log("async1 start"); await async2(); console.log("async1 end"); } async function async2() { console.log( 'async2'); } console.log("script start"); setTimeout(functi…
promise.then VS setTimeout 在chrome和node环境环境中均输出2, 3, 1, 先输出2没什么好说的,3和1顺序让人有些意外 原因: 有一个事件循环,但是任务队列可以有多个. 整个script代码,放在了macrotask queue中,setTimeout也放入macrotask queue. 但是,promise.then放到了另一个任务队列microtask queue中. 这两个任务队列执行顺序如下,取1个macrotask queue中的task,执行之…
Promise里的同步部分不需要try catch new Promise((resolve, reject) => { throw new Error('error'); setTimeout(() => { }, 100); }).catch(e => { console.log('log', e); });; 异步部分需要try catch new Promise((resolve, reject) => { setTimeout(() => { try{ throw…
目录 1    实现效果:    1 2    怎么才能在word里实现这样的显示?    1 如何设置word里的代码格式,使之有底纹的效果    2     实现效果: 怎么才能在word里实现这样的显示? 如何设置word里的代码格式,使之有底纹的效果  …
  实现效果: 怎么才能在word里实现这样的显示? 如何设置word里的代码格式,使之有底纹的效果…
参考内容:git如何merge github forked repository里的代码更新? [refer to ]http://www.haojii.com/2011/08/how-to-git-merge-from-forked-repository/] 问题是这样的,github里有个项目ruby-gmail,我需要从fork自同一个项目的另一个repository拿一些Bug Fix的代码link1:https://github.com/dcparker/ruby-gmail (原作者…
以前经常在编写程序是不知到碰到键盘上的那个键了,或是那几个组合键了,使得Eclipse里的代码光标变成一个黑色块:在这个状态下,光标不在活动自如,只能一直往后写代码,就不想平时的 " | " 光标那样灵活了,要是在一个一行代码中间写就会把后面的代码覆盖而不是之前的 插入代码状态.是否也有同事们遇到过同样的事件呀. 其实这是键盘上的 Ins 键或 Insert 键,这是同一个键,不同键盘显示有差异.…