金沙国际app-金沙国际手机app下载

金沙国际app包括教育和科研机构建设、学科共建等,欢迎来到金沙国际手机app下载这里有多种线上娱乐游戏,金沙国际app获颁“创意中国榜”中国文化创意产业领军企业,是一家专业从事网络休闲平台游戏开发、运营的服务性企业。

当前位置:金沙国际app > 网络世界 > SUSE sles 9.3中加入自定义的环境变量金沙国际app

SUSE sles 9.3中加入自定义的环境变量金沙国际app

文章作者:网络世界 上传时间:2019-10-11

SUSE sles 9.3中加入自定义的环境变量

如果面试官问你 JS中的event loop是什么?我相信大多数人都能答出来JS是单线程语言,只有一个主线程执行,执行栈,同步、异步之类。但是,这样的理解只是浅层的,如果面试官要你再深入解释,我相信大多数人都卡住了,不知道还能解释什么,那么,问题来了,这种情况怎么办?

1.编辑/etc/bash.bashrc文件

来看这篇文章,看完了你就知道怎么办了。

2.比如加入:

JS页面的任务不仅可以按照同步异步来分,也可以分为macro-taskmicro-task

alias bdf="f -kv"

macro-task都有:包括整体代码script,setTimeout,setInterval
micro-task都有:Promise,process.nextTick

PS1=`hostname`'['`pwd`']''>'

页面初始化时,不同的任务会进入到不同的 Event Queue(事件队列)

金沙国际app 1

初始化时,会执行所有代码,将setTimeout等加入到macro-task的事件列表,将Promise等加入到micro-task事件列表。
遇到立即执行的代码,则立即执行,之后,会将事件列表中所有的micro-task都执行完毕。

第一轮事件循环结束。

第二轮事件循环开始,拿出第一轮中第一个放入macro-task列表中的事件开始执行完毕

第二轮事件循环结束。

第三轮循环开始,拿出第一轮中第二个放入macro-task列表中的事件开始执行完毕

第三轮事件循环结束。

就像上面这样,反复执行,即事件循环

看了上面的解释,接下来,我们来看一个例子:

console.log('1');

setTimeout(function() {
    console.log('2');
    process.nextTick(function() {
        console.log('3');
    })
    new Promise(function(resolve) {
        console.log('4');
        resolve();
    }).then(function() {
        console.log('5')
    })
})

process.nextTick(function() {
    console.log('6');
})

new Promise(function(resolve) {
    console.log('7');
    resolve();
}).then(function() {
    console.log('8')
})

setTimeout(function() {
    console.log('9');
    process.nextTick(function() {
        console.log('10');
    })
    new Promise(function(resolve) {
        console.log('11');
        resolve();
    }).then(function() {
        console.log('12')
    })
})

我们按照上面的理论来分析这段代码:

首先,进入到第一轮事件循环:

遇到 console.log('1') 输出 '1'

遇到 setTimeout,将其回调函数加入到 macro-task 事件列表,记为 setTimeout1

遇到 process.nextTick,将其回调函数加入到 micro-task 事件列表,记为 process1

遇到 new Promise,立即执行,输出 ** '7'**,then被分发到 micro-task 事件列表,记为 then1

遇到 setTimeout 将其回调函数加入到 macro-task 事件列表,记为 setTimeout2

执行到这里,我们来数数第一轮事件循环中的任务列表:

macro-task:setTimeout1,setTimeout2

micro-task:process1, then1

将列表中所有的 micro-task 执行完毕,输出 '6','8'

本文由金沙国际app发布于网络世界,转载请注明出处:SUSE sles 9.3中加入自定义的环境变量金沙国际app

关键词: