setTimeout(()=>{
console.log(11)
},5000)
console.log(22)
问一下 如果打印22那句代码不写在回调函数里面的话 如何先去打印11再去打印22
加一个定时器限制一下,可以参考代码:
const myTest = new myTest((resolve, reject) => {
setTimeout(() => {
console.log(11)
resolve()
}, 5000)
})
myTest.then(() => {
console.log(22)
})
该回答内容部分引用GPT,GPT_Pro更好的解决问题
如果需要不写在回调函数里面,先执行11再执行22,则需要使用promise技术来实现。Promise技术是一种异步编程的解决方案,它可以使代码有序地执行,同时又不影响整体的流程。
例如:
let promise = new Promise((resolve, reject) => {
console.log('11');
setTimeout(() => {
resolve();
}, 5000);
});
promise.then(() => {
console.log('22');
})
在这个例子中,promise会在5秒之后被resolve,然后接下来的then函数就会执行。即使新建了一个Promise,代码也会以同步的方式运行,先打印11,再打印22。
如果回答有帮助,望采纳。
你想变同步,那就直接把所有会产生异步的代码删掉
console.log(11)
console.log(22)
这不就同步了吗