私は次のようなAMDモジュールを持っています:
define ['backbone', 'jquery', 'someObj'], (Backbone, $, someObj) ->
class MyModel extends Backbone.Model
# some options
foo = new MyModel
bar = new MyModel
foo.fetch().done ->
# Here I want to do things with foo and bar now that the fetch is complete
# but they are not visible
# Backbone, $, someObj, and MyModel are all visible, however
のようなオブジェクトにアクセスできるのに、またはにアクセスできsomeObj
ないのはなぜですか? また、これは同期コードをシミュレートする正しい方法ではありませんか。promise が解決された後にのみ実行できるコードを実行するには? 基本的に、私はしたい:foo
bar
- インスタンス
foo
化し、bar
- フェッチ
foo
および/またはbar
サーバーから - フェッチを待機する必要があるすべてのことを
foo
行いますbar
done には、一般的なアクション (例: console.log "Done"
) を含めるか、promise から渡されたパラメーターにのみアクセスするアクションを含めることができるようです。別のクロージャ構造か何かを使用する必要があると思いますが、やりたいことを行う方法について空白を描いているだけです。(私は AMD モジュールの内部にいるため、これが私だけが経験しているものかどうかはわかりません。そのため、これにも RequireJS のタグを付けています)。