2015-09-01 39 views
0

服務器的方法接收數據,我有以下流星方法利用顏色命名器NPM包,以找到一個十六進制值的顏色的名稱。從客戶端

colorName: function (options) { 
    var Namer = Meteor.npmRequire('color-namer'); 
    var name = Namer(options.color); 
    var color = name.basic[0].name; 
    return color; 
} 

在客戶端我有一個顏色選擇器,其保存在選項所有選項對象的形式。顏色值保存爲options.color。

我打電話給我的方法,像這樣:

Meteor.call('colorName', options.color); 

當表單提交我想從服務器獲取方法返回的顏色,然後重寫options.color值。

特別是我的想法是使用options.color =顏色,而是從服務器返回的顏色似乎是在客戶端非訪問。

我不確定如何來訪問服務器,而不是客戶端上創建該變種的顏色值。也許我正在以錯誤的方式思考問題,並採用錯誤的方法和正確的工具。

回答

1

您可能沒有意識到,但你需要一個回調函數,在客戶端上,以接收該方法的結果:

Meteor.call('colorName', options.color, function(err, result) { 
    if (!err) { 
     // result is "color" on the server, do what you want with it 
    } 
}); 
+0

哦......是的,就是這樣。忘記流星調用中的回調。現在工作正常。謝謝。 – chackerian