异步转同步
将下式进行修改,使其输出3
function aa(){
var b = bb(3);
console.log(b);
}
function bb( type ) {
var cc ;
setTimeout(function () {
cc = type;
},1000)
return cc;
}
aa() // undefined
用async await
async function aa() {
var b = await bb(333);
console.log(b);
}
function bb( type ) {
var cc ;
return new Promise(function ( resolve,reject ) {
setTimeout(function () {
cc = type;
resolve( cc )
},1000)
})
}
aa(); // 333
import 和require 区别
import 命令会被JavaScript 引擎静态分析,先于模块内的其他模块执行。
如果import 命令要取代Node的require 方法,这就形成了一个障碍。因为require 是运行是加载模块,import 命令无法取代require的动态加载功能。
const path = './'+ fileName;
const myModual = require(path);
因此,有一个提案,建议引入import() 函数,完成动态加载。
import( specifier )