LoginSignup
0
2

More than 5 years have passed since last update.

$.Deferredのresolve/rejectをすぐに返したいときの書き方省略方法

Posted at

Promise(& Promise PolyFill)を使わずに、jQueryの Deferred を用いて非同期処理を書いているときに出くわしたのでメモ。

非同期的にしたくないときでも .then() をつなぎたいがために以下のように3行書いていました。

a().then(() => {
  const defer = new $.Deferred;
  // 非同期の間でしたい処理
  defer.resolve();
  return defer.promise();
}).then(() => b());

ですが、以下のように書けば同じ動作をしてくれます。
2行減るのでちょっと見通しが良くなります。

a().then(() => {
  // 非同期の間でしたい処理
  return (new $.Deferred).resolve();
}).then(() => b());

以上です。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2