私はasync
/await
を使用していくつかの約束コードをリファクタリングしています。async/awaitで「インジェクション」コールバック
Promise
のようなものは、あなたが好きな場所にコールバックを「注入」するものです。例:
public DoSomethingAsync() {
return new Promise<void>(done => {
// do some stuff
done();
});
}
あるいは多分コールバックは、他のコールバックに包まれている。
public DoSomethingAsync() {
return new Promise<void>(done => {
const somethingDeferred = GetSomethingDeferred();
somethingDeferred.onsuccess =() => {
// some success code
done();
};
});
}
「拒否」のハンドラと同様の問題があります。
これらをリファクタリングする方法はありますか?async
/await
?または、彼らはnew Promise...
ブロックに包まれていますか?
は、私はそれが最初の例は、単純にすべての方法を減少させることができるという可能性だと思う:
public async DoSomethingAsync() {
// do some stuff
}
コールバックが自動的にとにかく後で呼び出されますので。しかし、2番目の例ははるかに問題が多いようです。