MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
MeteorJS: Properly use wrapAsync on vzaar api with callbacks?
问题:
当上传完一个视频后,我试图将一些东西(上传的视频ID)从API异步返回到我的代码中。这是因为它返回undefined
。这是来自vzaar的API文档的工作代码。
api.uploadAndProcessVideo(videopath,
function (statusCode, data) {
return data.id;
}, {
title: "my video",
profile: 3
});
但当我试图将其封装在异步函数中时,我失败了应该如何正确地做到这一点
我尝试了以下没有运气:
function getvideoid(videopath, callback) {
api.uploadAndProcessVideo(videopath, callback, {
title: "my video?",
profile: 3
});
};
var wrapped = Meteor.wrapAsync(getvideoid);
return wrapped(videopath);
编辑:下面的代码更接近了,正确的ID现在显示在服务器控制台中,但在客户端上仍然返回undefined
。我一定很接近有人知道吗
function getvideoid(videopath, callback) {
api.uploadAndProcessVideo(videopath, callback, {
title: "my video",
profile: 3
});
};
function status (statusCode, data) {
console.log(data.id);
return data.id;
}
var wrapped = Meteor.wrapAsync(getvideoid);
return wrapped(videopath, status);
api.uploadAndProcessVideo是一个异步调用,不能从异步回调返回值。在这种情况下,您应该在传递给函数的回调中处理API响应。例如:
api.uploadAndProcessVideo(path, function(statusCode, data) {
if (statusCode === 200) {
var videoId = data.id;
doSomething(videoId);
}
})
相关文章:
- 如何更改bigquery API中的计费层选项
- Amazon S3 REST API大小不正确
- 客户端服务器REST API captcha实现
- 使用Facebook live API创建实时视频对象时的隐私设置
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- API密钥使用和检查示例
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 谷歌地图JS API+JSON-多个标记没有显示
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 如何在 API 调用后和 if 语句中启用提交按钮
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 搜索api在mac上显示对话框
- Backbone.js restful json API design
- 标记的实时更新,无需加载页面谷歌地图API V3
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- 对API数据使用声明性绑定
- Meteor Wrapasync服务器端保存api调用结果到集合