要标记一个lambda异步,在它的参数列表前加上async: // Add a command to delete the current Group
contextMenu.Commands.Add(new UICommand("Delete this Group", async (contextMenuCmd) =>
{
SQLiteUtils slu = new SQLiteUtils();
await slu.DeleteGroupAsync(groupName);
}));
... 展开详请
def blank_fn(*args, **kwargs):
pass 然而,我认为更多的方法是: def perform_task(callback=None):
print 'doing stuff'
if callback is not None:
callback('x', 'y', z='z') def do_nothing(*args, **kwargs): pass
def do_something(arg, callback=do_nothing):
a = 1 + 2
callback('z', z='z')
def do_something_else(arg, callback=None):
a = 1 + 2
if callback is not None:
callback('z', z='z')
%timeit do_something(3)
1000000 loops, best of 3: 644 ns per loop
%timeit do_something_else(3)
1000000 loops, best of 3: 292 ns per loop... 展开详请