模块加载机制

模块加载机制

  • 1.模块名有路径,并且有后缀
    通过路径,引入相关的模块。
  • 2.当模块有路径,但是没有后缀的时候
    2.1 会先找路径下同名的js文件。
    2.2 再找路径下同名的文件夹,找文件夹下的index.js
    2.3 如果文件夹下有package.json 会找文件中的main字段 入口文件。
    2.4 如果找不到,就报错。
  • 3.模块没有路径也没有后缀。
    3.1 node会判断它是否为内置模块,是内置就加载
    3.2 不为内置,则去第三方模块中查找,去node_modules中查找。

PROMISE

在js中,异步任务(API)会在所有的同步任务完成后才会执行。
function back(){
    setTimeout(function(){
        console.log("hello word");
    },1000)
}
console.log(back());

执行代码:
在这里插入图片描述
执行步骤
log是一个同步代码,setTimeout是异步代码
执行back函数时,遇到setTimeout时,setTimeout不会立即执行, back就没有返回值,默认返回undefined。所以,打印的结果是undefined,打印完成后,js中的所有同步代码都执行完了,才会执行setTimeout函数。

  • 例子:
  • 小明
  • 小红
  • 去查自己的账户余额
  • 小明如果查到金额小于100,则充值200元.
  • 小红如果查到金额小于10000,则充值20000元。
  • 查询余额方法时一个异步的,需要一定的时候才能返回结果。
function getBalance(callbank){
  setTimeout(function(){
    let balance = 200;
    callbank(balance);
  },1000)
}
// 小明去调用
getBalance(function(balance){
  if (balance<200) {
    console.log("小明充了200元");
  }else{
    console.log("小明什么也不干");
  }
})
// 小红去调用
getBalance(function(balance){
  if (balance<10000) {
    console.log("小红充2万!");
  }else{
    console.log("小红什么也不干");
  }
})

执行代码:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值