externs: add cancelAsync; improve async