Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
223 views
in Technique[技术] by (71.8m points)

关于小程序 async await

我page modify.js引入了

import?regeneratorRuntime?from?'../../utils/wxPromise.min.js';

在onReady执行了异步 等待操作

??async?onReady(){??

??????await?this.testawait();

??????console.log("test"); ??

??},

testawait方法为一个setTimeout异步操作

??testawait(){
??????setTimeout(function(){?console.log("await-aftrt-consolelog")},?3000);
??},

按我的理解控制台应该是先执行完await的testawait方法在执行后面的打印console.log("test");

但是控制台打印出的信息却是先打印console.log("test");然后在执行testawait方法。这是什么原因导致的?

image


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
testawait(){
??return new Promise(resolve =>?setTimeout(function(){?console.log("await-aftrt-consolelog"); resolve()},?3000));
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...