feat: support LCCloud.Run<T>
parent
4f0d7e9e9f
commit
42729fdddf
|
@ -28,6 +28,9 @@ namespace LeanCloud.Common {
|
|||
return Convert.ToInt32(reader.Value);
|
||||
}
|
||||
}
|
||||
if (reader.TokenType == JsonToken.Float) {
|
||||
return Convert.ToSingle(reader.Value);
|
||||
}
|
||||
|
||||
return serializer.Deserialize(reader);
|
||||
}
|
||||
|
|
|
@ -28,6 +28,15 @@ namespace Storage.Test {
|
|||
Assert.AreEqual(response["result"], "Hello, world!");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task RunAverageScore() {
|
||||
float score = await LCCloud.Run<float>("averageStars", new Dictionary<string, object> {
|
||||
{ "movie", "夏洛特烦恼" }
|
||||
});
|
||||
TestContext.WriteLine($"score: {score}");
|
||||
Assert.True(score.Equals(3.8f));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task CallWithoutParams() {
|
||||
await LCCloud.Run("hello");
|
||||
|
|
|
@ -36,6 +36,15 @@ namespace LeanCloud.Storage {
|
|||
return response;
|
||||
}
|
||||
|
||||
public static async Task<T> Run<T>(string name,
|
||||
Dictionary<string, object> parameters = null) {
|
||||
Dictionary<string, object> response = await Run(name, parameters);
|
||||
if (response.TryGetValue("result", out object result)) {
|
||||
return (T)result;
|
||||
}
|
||||
return default;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invokes a cloud function as a remote procedure call.
|
||||
/// </summary>
|
||||
|
|
Loading…
Reference in New Issue