我的搜索栏与YouTube API不同步
My search bar is not synchronous with the YouTube API?
YouTube API需要很短的时间才能返回到其服务器的请求(在我的情况下,我发送一个搜索查询)。然而,使我的程序同步仍然太慢。
这是搜索栏处理程序:
Template.search_bar.events({
'keypress #query' : function (evt,template) {
// template data, if any, is available in 'this'
if (evt.which === 13){
var url = template.find('#query').value;
$("#query").val('');
//YoutubeAPI calls go here
Template.list.search_get(url);
Links.insert({sess:Template.list.my_playlist_id,youtube_link:Session.get("search_results").items[0].snippet.title});
}
}
});
这就是执行GET调用的原因:
Template.list.search_get= function(str){
var request = gapi.client.youtube.search.list({part:'snippet',q:str});
request.execute(function(response) {
str = JSON.stringify(response.result);
str = JSON.parse(str);
Session.set("search_results",str);
});
}
顶部搜索结果显示在列表中,但结果始终显示在后面一个结果。这意味着第一次搜索将产生undefined
,因为此时Session变量还没有更新,第二次搜索将生成第一次搜索的结果,依此类推
任何关于我如何解决这个问题的意见都将非常好。
您不需要为此使用Session
。尝试将Links.insert
例程移到请求回调中,情况应该会开始好转;)
相关文章:
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- Node.js和同步API函数
- IndexedDB同步api+web工作者-what'这就是重点
- 并行开发同步/阻塞和异步/非阻塞库api的好方法是什么?(JavaScript)
- 我的搜索栏与YouTube API不同步
- 将异步 API 转换为同步 API.(我保证有一个很好的理由)
- 环回:对环回 API 进行同步调用
- 同步代码框 - 调用 API - 解析 JSON - 获取引用 - 保存新对象
- 在模型同步时发送带有 json 的 API 密钥
- REST API,跟踪多个资源的变化,前端同步
- 我需要帮助在同步模式下调用FB.api()
- JavaScript-与第三方API的同步问题
- 覆盖骨干.同步Rails API认证与设计
- 如何同步chrome书签与服务器在扩展使用API
- 当重新连接时,Firebase JavaScript API是否与服务器同步?
- 如何设计具有同步或异步响应的API
- 同步文件API的工人,示例/教程
- 如何以同步方式制作Promise API
- 是否有任何方法来同步地图拖动在谷歌地图API V3
- 谷歌chrome同步API