我想異步運行我的功能,但我怎麼做到這一點?:如何在Typescript中異步運行函數?
checkLocation() {
return __awaiter(this, void 0, Promise, function*() {
while (true) {
setTimeout(function() {
this.diagnostic.isLocationEnabled().then(
(isAvailable) => {
console.log('Is available? ' + isAvailable);
if (!isAvailable) {
alert('Please turn on the location service');
}
}).catch((e) => {
console.log(e);
});
}, 5000)
}
});
}
}
其中一個發現的問題是,TS不能罰款名__awaiter
。我試圖按照this
我們無法知道爲什麼'__awaiter'在問題中的代碼中不可用。它與sync/async沒有任何關係。 –
我只是試圖按照我發佈的鏈接。這就是爲什麼我問你們:) –
'__awaiter'不是你**寫的東西。如果你使用'async' /'await'函數,它由TypeScript編譯器輸出。來自你的鏈接:*「對於上面的示例,TypeScript編譯器爲'ping'函數發出了下面的ES6 JavaScript。」*這很清楚地表明,包含'__awaiter'的代碼是TypeScript編譯器的**輸出** 。 –