Şu anda bu işlev eşzamanlı bir çağrı olduğu varsayımına rağmen, şu işlev için herhangi bir dönüş değeri alamıyorum. Zaman uyumsuz yaparsak, (yani fonksiyonu (hata, vesaire) {console.log (bla),}) Doğru amaçlanan çıktı elde edin. ,Meteor.call ("işlev", arg) eşzamanlı olarak gerçekleşmiyor
AyrıcaMeteor.methods({
get_files : function get_files(path) {
return [
{ "name" : " bob" }, { "name" : "alice" },
];
}
, burada doğru adlandırılan vurmayacak HTML parçası alakalı olduğunu durumda: İşte
Template.file_nav.files = function(path) {
path = path || "/";
var x = Meteor.call('get_files', path);
return x;
}
"get_files" yöntemi için sunucu tarafı kod
<template name="file_nav">
<div>
<ul style="dirnav">
{{#each files}}
{{#if isDirectory this}}
<li><a href="javascript:void(0)" onclick="get_directory('{{name}}')">{{
{{else}}
<li><a href="javascript:void(0)" onclick="get_file('{{name}}')">{{name}
{{/if}}
{{/each}}
</ul>
</div>
</template>
Biraz daha açıklamak mümkün mü? belki kısa bir örnek. – user1821985
Meteor'da eşzamanlı bir istemci-sunucu-istemci gidiş gelişinin mümkün olmadığını düşünüyorum. 'Meteor.call' yalnızca node.js sunucusunda çalıştırıldığında senkronize olur. 'Meteor.call' istemcisinin çağrılması, sunucudan sonuç almak için 'asyncCallback' argümanını kullanmalıdır; "çağrı" nın istemci tarafı çağrıları senkron değildir. (Bunun bir istisnası var, fakat özel bir durumda, 'call'un sunucuyla iletişim kurması engelleniyor ve sadece istemcide senkronize bir 'call' işlemi yapıyor.) – apsillers