Скажем, кто-то реализовал другую функцию setTimeout:
const setTimeout = (func, ms) => {
const future = Date.now() + ms;
while (Date.now() < future) {
// do nothing
}
func();
};
У которой (для простоты этого вопроса) интерфейс почти такой же, как и у оригинала.Как я, как разработчик, использующий его, могу убедиться, что он не инициализировал какой-либо асинхронный код?
Я хочу знать, будет ли моя программа существовать после того, как я использую вызов setTimeout
.Если setTimeout
реализован с использованием кода синхронизации, программа будет существовать (вскоре) после.Если реализация setTimeout
является асинхронной, программа будет существовать только после выполнения асинхронного кода.
Более конкретно, могу ли я сделать что-то подобное?
setTimeout(()=>{},1000);
const isAnyAsyncCodeWillRun = ...;
if(isAnyAsyncCodeWillRun){
console.log('Program wont exist right now, only in about 1000ms');
} else {
console.log('Program will exist now');
}