const fs = require('fs');
fs.readFile(__filename, () => {
process.nextTick((e) => {
console.log(e)
console.error(e)
},new TypeError('argument should be string'))
setImmediate(() => {
console.log('immediate');
});
});
输出结果如下
TypeError: argument should be string
at D:\projectOther\mylib\src\test.js:7:5
at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:63:3)
immediate
TypeError: argument should be string
at D:\projectOther\mylib\src\test.js:7:5
at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:63:3)
为什么执行顺序是先console.log(e),然后console.log('immediate'),最后console.error(e)