回调练习Javascript
我一直在练习回调,我得到了这个我一直在努力学习语法的练习。这是我的密码:回调练习Javascript,javascript,function,callback,Javascript,Function,Callback,我一直在练习回调,我得到了这个我一直在努力学习语法的练习。这是我的密码: function wash(callback) { setTimeout(function() { console.log('wash'); callback(); }, 3000); } function dry(callback) { setTimeout(function() { console.log('dry'); callback(); }, 2000); }
function wash(callback) {
setTimeout(function() {
console.log('wash');
callback();
}, 3000);
}
function dry(callback) {
setTimeout(function() {
console.log('dry');
callback();
}, 2000);
}
function fold(callback) {
setTimeout(function() {
console.log('fold');
callback();
}, 1000);
}
doLaundry([wash, dry, fold]);
调用doLaundry([wash,dry,fold])应该打印出以下内容:
洗干折叠完成
通过调用此函数(需要工作)
我尝试了这个,结果很接近,但语法错误或不需要:
function doLaundry(actions, callback) {
actions.forEach((item, index) => {
wash(item, (error) => dry(item, (error) => fold(item, (error) => {})));
});
}
在查看了其他简单教程之后,我真的很困惑如何使用回调实现doLaundry()。有什么建议吗?因为函数不需要是异步的,所以我认为这比需要的要复杂得多。只需迭代操作(函数)数组并调用它们。然后在末尾记录
Done
函数清洗(){
console.log('wash');
}
函数dry(){
控制台日志('dry');
}
函数fold(){
console.log('fold');
}
const doLaundry=(fns)=>{
fns.forEach(fn=>{
fn();
});
console.log('Done!');
}
doLaundry([清洗、干燥、折叠])代码>函数必须是异步的吗?在练习描述中没有提到异步。回调函数没有定义…我不应该篡改函数定义,考虑回调的实现是什么样子的?谢谢,顺便说一句!你不是说函数不需要是异步的吗?但还有其他方法,一秒钟。。。
function doLaundry(actions, callback) {
actions.forEach((item, index) => {
wash(item, (error) => dry(item, (error) => fold(item, (error) => {})));
});
}