各位好,上一篇文章中
很多版友都建議我使用 await 的方法
不過我研究了一下之後發現,await好像和promise一樣
都是在處理 非同步與非同步間的流程控制
好像沒辦法達到 : 在同步與非同步交互流程中
把非同步的函式模擬成同步的
例如下面的例子
function resolveAfter2Seconds(x) {
return new Promise(resolve => {
setTimeout(() => {
resolve(x);
}, 2000);
});
}
async function getService() {
return await resolveAfter2Seconds(10);
}
var value = getService();
console.log(value);
console.log(222);
//處理 getService() 後的後續流程
執行結果:
Promise {<pending>}
222
(在不把 console.log(222) 包成 callback 的情況下)
請問是否有任何辦法讓這隻程式 變成
執行結果:
10
222
我總覺得這個問題好像很難
先祝各位大大有愉快的一天~