我有一个特定的案例,在继续之前我需要等待异步调用的结果。我正在使用async/await关键字,但没有任何运气。感谢您的帮助。
这是我尝试让它工作的尝试,数字应该按数字顺序排列。
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function demo() {
document.writeln('2...');
await sleep(2000);
document.writeln('3...');
}
document.writeln('1...');
demo();
document.writeln('4.');
发布于 2017-04-12 11:40:48
您应该在async function之后使用.then()
。
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function demo() {
document.writeln('2...');
await sleep(2000);
document.writeln('3...');
}
document.writeln('1...');
demo().then(() => {
document.writeln('4.');
});
发布于 2017-08-15 12:13:51
异步函数将返回一个Promise
,因此您需要等待对demo
的调用
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms))
const demo = async() => {
console.log('2...')
await sleep(2000)
console.log('3...')
}
const blah = async() => {
console.log('1...')
await demo()
console.log('4.')
}
blah()
https://stackoverflow.com/questions/43359528
复制相似问题