私は約束を学びたいと思っています。私は、私の例題のショーのように、非同期機能を開始して停止することを思い出します。開始時に開始し、ボタンをクリックすると停止しますが、続行できないようです。停止した非同期機能を継続することはできますか?
var stop = 0;
var elParrafo = document.getElementById('miParrafo');
function sendStop() {
stop = 1;
}
function sendStart() {
stop = 0;
}
function esperar(ms) {
return new Promise(function(resolve, reject) {
setTimeout(resolve, ms)
});
}
async function trabajar() {
while (stop === 0) {
elParrafo.innerHTML += " > ";
await esperar(50);
}
}
trabajar();
<form class="" action="index.html" method="post">
<input type="button" value="Stop" onclick="sendStop()">
<input type="button" value="Start" onclick="sendStart()">
</form>
<p id="miParrafo"></p>
あなたのコードは約束を停止しません。それは新しいものの発射を止めるだけです。 'trabajar'を再度呼び出すことでループを停止/開始できますが、Promiseをキャンセルすることはできません。 –