我對Dart還很新,並且=>(胖箭頭)的語法仍令我困惑(我來自C#背景)。Dart lambda/shortland函數混淆
在C#中的脂肪箭頭(=>)於是說:去因此,例如:
Action<string> action1 = (str) => { System.Diagnostic.Debug.WriteLine("Parameter received: " + str.ToString()); }
action1("Some parameter");
是指:凡是派作爲參數傳遞給action1
(如果它可以被強制轉換爲string
)去範圍內(在我們的情況下,它只是印在Debug.WriteLine()
但在達特它的不同的東西......(?)
例如Future.then
ClassWithFutures myClass = new ClassWithFutures();
myClass.loadedFuture.then(
(str) => { print("Class was loaded with info: $str"),
onErrro: (exp) => { print("Error occurred in class loading. Error is: $exp"); }
);
飛鏢編輯提醒我說,第一和第二print
是:Expected string literal for map entry key
。我想在C#的方式,str
它只是名稱爲參數,將通過Future.then
用來調用onValue
或onError
我做錯了什麼內部的回調填補?