json - Meteor.http.call(调用URL API)

标签 json meteor callback get meteor-helper

所以我试图在我的 Meteor 应用程序中调用圣经经文 API。我用 name="display" 制作了一个模板,模板中有一个简单的 {{checkitout}}

然后对于模板,我尝试在其相应的帮助器中进行调用。它看起来像这样(在coffeescript中,但Javascript读者也应该理解):

@Template.display.helpers
    checkitout:->
        result = Meteor.http.call("GET","http://labs.bible.org/api/passage=john%203:2&type=json")
        console.log(result)

URL 是圣经经文的 JSON,但问题是,Meteor.http.call 需要第三个参数,即“回调”(因为它位于客户端文件夹中)。我读了一些文档+示例,但不知道这意味着什么。

此外,如果我这样调用它,结果是否正是 JSON 文件,或者我是否需要将其放入新的哈希中?回调是什么意思?有人能给我举个例子吗?

最佳答案

由于助手是同步的,而 API 调用不是同步的,因此您需要将调用结果存储在 react 变量中并从助手返回:

verse       = "Loading..."
verseLoaded = false
verseDep    = new Deps.Dependency()

Template.Display.checkItOut = ->
  verseDep.depend()
  unless verseLoaded
    verseLoaded = true
    Meteor.http.get "...", (error, result) ->
      verse = "..."
      verseDep.changed()
  verse

关于json - Meteor.http.call(调用URL API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23721840/

相关文章:

php - 在 PHP 中将二维数组转换为 JSON

json - 在 PostgreSQL 中将多个 JSON 行组合成一个 JSON 对象

java - 构建 Android 库时,我可以使用什么模式来支持 Activity 中配置的回调

mysql - 我如何格式化 mysql 查询以利用异步/ promise ?

c++ - 如何在 C/C++ 中创建自己的事件?

ios - ios中nsurlconnection中的post方法

meteor - 无法从事件的方法中捕获 meteor 错误

javascript - 在 Meteor 的 Firefox 中登录不起作用

unit-testing - 在 meteor 下用 Mocha/Chai 测试时 Vue $el 未定义

python - 如何使用 python 生成特定的嵌套 JSON