Javascript 如何在JS中嵌套承诺,并在不同的时间解决它们?
我想,通过运行数字1、2和4下面的代码,屏幕上会在一秒钟后出现另一个数字。但它们同时出现 由于我的嵌套解析在Javascript 如何在JS中嵌套承诺,并在不同的时间解决它们?,javascript,asynchronous,promise,settimeout,es6-promise,Javascript,Asynchronous,Promise,Settimeout,Es6 Promise,我想,通过运行数字1、2和4下面的代码,屏幕上会在一秒钟后出现另一个数字。但它们同时出现 由于我的嵌套解析在setTimeout()中,它们不应该在上一个解析后一秒钟解析吗 var test = document.getElementById("test"); new Promise(function(resolve, reject) { setTimeout(() => resolve(1), 1000); }).then(result => { te
setTimeout()中,它们不应该在上一个解析后一秒钟解析吗
var test = document.getElementById("test");
new Promise(function(resolve, reject) {
setTimeout(() => resolve(1), 1000);
}).then(result => {
test.innerHTML += result + "<br>";
return new Promise(function(resolve, reject) {
setTimeout(() => resolve(result * 2, 2000));
});
}).then(result => {
test.innerHTML += result + "<br>";
return new Promise(function(resolve, reject) {
setTimeout(() => resolve(result * 2, 3000));
});
}).then(result => {
test.innerHTML += result;
});
var test=document.getElementById(“test”);
新承诺(功能(解决、拒绝){
setTimeout(()=>resolve(1),1000);
})。然后(结果=>{
test.innerHTML+=结果+“
”;
返回新承诺(功能(解决、拒绝){
setTimeout(()=>resolve(结果*22000));
});
})。然后(结果=>{
test.innerHTML+=结果+“
”;
返回新承诺(功能(解决、拒绝){
setTimeout(()=>解析(结果*23000));
});
})。然后(结果=>{
test.innerHTML+=结果;
});
正确传递setTimeout的第二个参数
新承诺(功能(解析、拒绝){
setTimeout(()=>resolve(1),1000);
})。然后(结果=>{
console.log(结果)
返回新承诺(功能(解决、拒绝){
setTimeout(()=>解析(结果*2),2000);
});
})。然后(结果=>{
console.log(结果)
返回新承诺(功能(解决、拒绝){
setTimeout(()=>解析(结果*2),3000);
});
})。然后(结果=>{
console.log(结果)
});代码>为setTimeout正确传递第二个参数
新承诺(功能(解析、拒绝){
setTimeout(()=>resolve(1),1000);
})。然后(结果=>{
console.log(结果)
返回新承诺(功能(解决、拒绝){
setTimeout(()=>解析(结果*2),2000);
});
})。然后(结果=>{
console.log(结果)
返回新承诺(功能(解决、拒绝){
setTimeout(()=>解析(结果*2),3000);
});
})。然后(结果=>{
console.log(结果)
});代码>这是一个输入错误,您没有将第二个参数传递给其他2个SetTimeout,而是传递了两个参数来解析回调。这是一个输入错误,您没有将第二个参数传递给其他2个SetTimeout,而是传递了两个参数来解析回调