这是我尝试过的-对我不起作用,我如何使用async await解决这个问题?
var array = [4, 2, 7, 1];
var prom = new Promise(function(myRsolve, myReject) {
var sum = array.reduce((x, y) => x + y);
setTimeout(function() {
myResolve(sum);
}, 3000);
prom.then(function(value) {
document.getElementById("tot").innerHTML = value;
})
});
<p>Array total 4+2+7+1: </p>
<h2 id="tot"></h2>
这是声明promise的正确语法:
let promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Resolved in 2000ms');
}, 2000)
})
所以在你的情况下,承诺是这样的:
var array = [4, 2, 7, 1];
// Will resolve after 3000ms
let prom = new Promise((resolve, reject) => {
var sum = array.reduce((x, y) => x + y);
setTimeout(() => {
resolve(sum);
}, 3000)
})
prom.then(function (value) {
document.getElementById("tot").innerHTML = value;
});
<p>Array total 4+2+7+1: </p>
<h2 id="tot"></h2>