我试图找出使用Js.Promise
的示例使用
Js.Promise.(
...
)
Json.Decode
的示例使用
Json.Decode.{
...
}
根据我的理解,.()
会打开Js.Promise
,以便我可以在Js.Promise
内调用任何函数,而无需使用Js.Promise
作为模块前缀。
但是.{}
做了什么?
答案 0 :(得分:2)
两者都在范围内放置了一些模块声明,但是.{}
创建了一条记录,而.()
包含了一个表达式。
记录:
let point = json =>
Json.Decode.{
x: json |> field("x", float),
y: json |> field("y", float)
};
相当于:
let point = json =>
{
x: json |> Json.Decode.field("x", Json.Decode.float),
y: json |> Json.Decode.field("y", Json.Decode.float)
};
同样,对于表达式:
let _ =
Js.Promise.(then_(value => resolve(Js.log(value)), okPromise));
相当于:
let _ =
Js.Promise.then_(value => Js.Promise.resolve(Js.log(value)), okPromise));