流星の非同期トピックですが、それは残念です!私はwrapasync、約束、将来、繊維などについて多くのことを読む...私は少し失われている!流星の流星での流星の非同期
私の問題は、私はちょうどから現在のホスト名を返しているサーバーの戻りたい私のコードでは、単純です:
"getHost" : function(){
return this.connection.httpHeaders.host;
}
を私はonCreatedヘルパーの私のプログラムのbegginingでこれを呼んでいます:
Template.printjoblistList.onCreated(function() {
Meteor.call("getHost", function(err, data){
if(err){
console.log("error " + err + " : " + data);
}else {
Session.set("printJobList_Host", data)
}
});
});
問題は、私のSession.setがSession.getの後に実行されることです。このSession.getはこれで実行されます。
私のテンプレートで:私のヘルパーで
<a href="{{getPdf}}">{{getPdf}}</a>
:
Template.registerHelper("getPdf", function() {
var myReturn = Session.get('printJobList_Host'); + "/pdf/" + pdfFileName;
return myReturn;
});
だから、私はこれを明確に取得するためにwrapAsyncを使用する方法を理解したいと思います! ご協力いただきありがとうございます!
の中で
Session.get
を使用してみてください。クライアントではできません。 'wrapAsync'は、Fibersのおかげで非同期コードが同期的に見えるようにすることで、Node環境(サーバ)でのみ動作します。クライアントでは、古典的な非同期性に悩まされています。 –