static bool IsLongTaskRunning = false;
static object Sync = new object();
static void StartLongTask() {
lock(Sync) {
if (IsLongTaskRunning) // Предыдущий вызов еще не завершился
return;
IsLongTaskRunning = true;
}
Task.Run(async () => {
Debug.WriteLine("Long task started...");
try
{
await Task.Delay(TimeSpan.FromMinutes(2)); // "Длинный метод" из моей "другой библиотеки"
Debug.WriteLine("Long task done.");
} catch(Exception ex) {
Debug.WriteLine("Long task failed: " + ex);
}
lock(Sync) {
IsLongTaskRunning = false;
}
});
}
try
{
// do my job or throw exception
}
catch (Exception ex)
{
Debug.WriteLine(ex);
}
document.addEventListener('DOMContentLoaded', function () {
function getlike(id) {
var like = $('#like_' + id);
// ...
}
});
$('span[id^="like_"]').each(function(index, like) {
var id = like.id;
// ...
});