1
我很難編寫使用「out」返回多個值的「異步」函數。從異步函數中返回多個值
public async void getArticle(int articleID, out string html, out string title, out string author, out string url)
{
}
這足以觸發該錯誤。只要關鍵字「異步」 IST函數頭調用函數時,我得到了以下錯誤的一部分:
error: Argument 2: Cannot convert from `string?' to `GLib.AsyncReadyCallback?'
這是呼叫的樣子
getArticle(15752, out html, out title, out author, out url);
如果我刪除的關鍵字「異步」一切再次開始工作。這甚至可能在vala中,或者我是否必須返回一個包含所有4個字符串的對象才能使其工作?
感謝所有幫助提前
最好的問候,揚
THX,但我怎麼弄這個lambda表達式的值?類似於「getArticle.begin(15752,(obj,result,html,title,author,url)=> { getArticle.end(result,out html,out title,out author,out url); });不起作用 – 2014-09-03 02:33:21
函數完成執行後調用回調函數,但立即調用begin()調用後的下一行。沒有辦法訪問out變量,因爲這些值不一定存在。查看https://wiki.gnome.org/Projects/Vala/Tutorial#Asynchronous_Methods瞭解更多信息。 – nemequ 2014-09-03 08:08:48