0

我有一个 webapp,主要是用 opal 编译的 ruby​​ 编写的。我现在想在自己的云中存储/检索文件,也许使用 WebDAV。我正在寻找一个如何使用 HTTP 模块执行此操作的示例。

我试过了

HTTP.get("https://owncloud/foo.abc") do |req|
   req.username= "user"
   ...
end.then do |response|
   puts response
end

但这不起作用。然后没有方法用于模块 HTTP。

所以似乎如果我将一个块传递给 HTTP.get 它不再返回一个承诺。

当我不通过块时,我不知道如何配置请求。

如果我能找到一个完整的例子,如何从 opal 中使用 HTTP,那就最好不过了。蛋白石博客中的小例子不会死。

4

1 回答 1

0

我认为用户名/密码应该在选项哈希中传递(参见 opal-jquery README)。

HTTP.get("https://owncloud/foo.abc", username: 'user').then do |response|
   puts response
end



关于 Promise 风格的注释:

该块用作回调的默认形式。要切换到 promise 样式,您不应传递任何块,而是尝试将结果分配给HTTP.get变量以修改请求选项:

req = HTTP.get("https://owncloud/foo.abc")

puts req.inspect # <= do something with the request

req.then do |response|
   puts response
end
于 2014-08-11T08:44:22.707 回答