0
有数据插入到Videos集合中,但future.return总是只返回空对象。如何将post _id返回给客户端?异步返回插入帖子的_id到Mongo集合
// load future from fibers
var Future = Meteor.npmRequire("fibers/future");
// load fibers
var Fiber = Meteor.npmRequire("fibers");
// load youtubedl
var youtubedl = Meteor.npmRequire('youtube-dl');
Meteor.methods({
'command' : function(line) {
// this method call won't return immediately, it will wait for the
// asynchronous code to finish, so we call unblock to allow this client
this.unblock();
var future = new Future();
\t youtubedl.getInfo(line, function(err, stdout, stderr, videoId) {
\t \t if(stdout)
\t \t Fiber(function() {
\t var videoId = Videos.insert({videoObject: stdout ? stdout : stderr});
\t console.log(videoId);
\t return videoId;
}).run();
\t \t future.return({_id: videoId})
\t });
\t return future.wait();
}
});
BC需要在纤维 – mhlavacka
运行@mhlavacka你不必用户纤维,'Async.runSync()'将它总是会得到一个错误运行它同步示例代码是一个工作代码,它将'videoId'返回给客户端 –