Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как "увидеть" код в window.Promise (https://javascript.ru/forum/misc/85273-kak-uvidet-kod-v-window-promise.html)

vJack 03.06.2023 07:44

Как "увидеть" код в window.Promise
 
Всем здравствовать!
Подскажите как "увидеть" код в window.Promise как на примере с window.setTimeout

window._setTimeout = window.setTimeout;
window.setTimeout = function(code,delay) {
	console.log(code.toString()); 
	return window._setTimeout(code,delay);
}

Aetae 03.06.2023 13:17

На вопрос ответ - никак, это нативный код а не js. Но можно глянуть на полифилф.

На то что подразумевалось в вопросе, как-то так:

// наследуем класс, внедряемся в методы
class InterceptedPromise extends Promise {
  constructor(...args) {
    super(...args);
    console.log('Promise', ...args.map(String));
  }
  
  then(...args) {
    console.log('Promise', 'then', ...args.map(String));
    return super.then(...args);
  }
  
  catch(...args) {
    console.log('Promise', 'catch', ...args.map(String));
    return super.catch(...args);
  }
  
  finally(...args) {
    console.log('Promise', 'finally', ...args.map(String));
    return super.finally(...args);
  }
}

// заменяем стандартный промис на наш
window.Promise = InterceptedPromise;


Часовой пояс GMT +3, время: 02:57.