-1
我從客戶端調用服務器功能,執行UNIX命令並獲得服務器上的輸出,但我需要將結果返回給調用它的客戶端功能。我在服務器上得到輸出,但Meteor.call立即返回結果undefined,bc exec命令需要一些時間才能運行。任何建議如何延遲獲得結果和繞過這個問題?返回從服務器到客戶端的變量延遲在流星
客戶呼叫:
if (Meteor.isClient) {
Template.front.events({
'click #buttondl': function() {
if (inputdl.value != '') {
var link = inputdl.value;
Meteor.call('information', link, function(error, result) {
if (error)
console.log(error);
else
console.log(result);
});
}
}
});
}
服務器方法:
Meteor.methods({
information: function (link) {
exec = Npm.require('child_process').exec;
runCommand = function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if(error !== null) {
console.log('exec error: ' + error);
}
return stdout;
}
exec("youtube-dl --get-url " + link, runCommand);
}
});