希望调用某个函数3次之后再去执行
function after(times,say){
return function() {
if(--times ===0){
say()
}
}
}
let newSay = after(3,say() {
console.log('say')
})
newSay();
newSay();
newSay();
- 应用场景
异步并发问题 同时发送多个请求,希望拿到最终结果
//promise.all
const fs = require('fs') // fs是node中file System文件读取操作
function after(times,say){
let renderObj = {};
return function(key,value) {
renderObj[key] = value;
if(--times ===0){
say(renderObj)
}
}
}
let out = after(2,(renderObj)=>{
console.log(renderObj)
})
fs.readFile('./name.txt','utf8',function(err,data){
out('name',data);
})
fs.readFile('./age.txt','utf8',function(err,data){
out('age',data);
})