変数が設定されるまでコールバックを送信して待機したい;
私のコードを参照してください:
function getNick(callback) {
callback(nickName);
}
nickName 変数は、コードの後半まで設定されていません..
これは可能ですか?
変数が設定されるまでコールバックを送信して待機したい;
私のコードを参照してください:
function getNick(callback) {
callback(nickName);
}
nickName 変数は、コードの後半まで設定されていません..
これは可能ですか?
コードを変更したほうがよいかもしれませんが、コールバック関数を変数に保存し、後でコード内で呼び出すことができると思います (nickName が設定された後)。
このようなもの
var nickSetCallback;
function getNick(callback){
nickSetCallback = callback;
}
// .. More code ..
nick = "something";
if(nickSetCallback !== undefined)
nickSetCallback(nick);
データを観察するメカニズムを提供する Knockout や Reactive Extensions などのライブラリを使用します。
ノックアウトでそれを行う方法は次のとおりです。
var nickName = ko.observable();
function getNick(callback) {
if (nickName()) {
callback(nickName());
}
else {
var d = nickName.subscribe(function (n) {
callback(n);
d.dispose();
});
}
};
// ...
getNick(function (value) { ... });
nickName("bannannas");