2

そのため、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.call3 番目の引数である「コールバック」が必要なことです (これはクライアント フォルダーにあるため)。いくつかのドキュメントと例を読みましたが、それが何を意味するのかわかりません。

また、このように呼び出すと、結果は正確に JSON ファイルになりますか、それとも新しいハッシュ内に収まる必要がありますか? コールバックとはどういう意味ですか? 誰かが私に例を挙げてもらえますか?

4

2 に答える 2

1

ヘルパーは同期的で API 呼び出しはそうではないため、呼び出し結果をリアクティブ変数に格納し、ヘルパーから返す必要があります。

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
于 2014-05-18T22:09:25.863 に答える