私は現在、最初のチタニウムiPhoneアプリを製作中です。私が得たモデルでチタンmvc - 関数を呼び出して結果を待つ
:
(function() {
main.model = {};
main.model.getAlbums = function(_args) {
var loader = Titanium.Network.createHTTPClient();
loader.open("GET", "http://someurl.json");
// Runs the function when the data is ready for us to process
loader.onload = function() {
// Evaluate the JSON
var albums = eval('('+this.responseText+')');
//alert(albums.length);
return albums;
};
// Send the HTTP request
loader.send();
};
})();
と私のような観点でこの関数を呼び出す:それはHTTPを使用していくつかのデータをフェッチするモデルへの呼び出し(ように思えるしかし
(function() {
main.ui.createAlbumsWindow = function(_args) {
var albumsWindow = Titanium.UI.createWindow({
title:'Albums',
backgroundColor:'#000'
});
var albums = main.model.getAlbums();
alert(albums);
return albumsWindow;
};
})();
)は応答を待つことはありません。私がアラートをするときに、まだモデルからデータを受け取っていないという見方では、どのようにしてベストプラクティスでこれを行うのですか?
あなたがサービスからの応答を得るまでそれがお待ちしておりますように、あなたが必要なもの事前
魅力のように働きます - ありがとう、たくさんの仲間:) –
あなたは大歓迎です。 –
これは素晴らしい例です。私の例では、モーダルを開き、ユーザーから情報を収集し、モーダルを閉じてから、インデックスビューを再度開こうとしていました。私はコールバックを正しく取得していましたが、インデックスビューはその後に表示されませんでした。 modal.close()を使用する代わりに、私はmodal.hide()を使用しました。これにより、インデックスビューが表示されました。これが誰かを助けることを願っています –