Подтвердить что ты не робот

Функция экспортной перезагрузки ES6

Как я могу экспортировать эту функцию перезаписи, чтобы модуль импорта мог проверить, была ли функция вызвана?

// util.js
export function isPageload() {
  return (!!(isPageload = function() { return false; }));
}

Когда я скомпилирую это с Babel, я получаю эту ошибку:

Uncaught TypeError: (0 , _util2.default) is not a function

Вот эквивалент ES5:

var isPageload = function() {
  return (!!(isPageload = function() { return false; }));
}

console.log(isPageload()); // true
console.log(isPageload()); // false
4b9b3361

Ответ 1

.default в ошибке дает понять, что вы делаете

import isPageload from 'foo';

когда вы, вероятно, захотите

import {isPageload} from 'foo';

так

export function isPageload() {

создает именованный экспорт, а не экспорт по умолчанию, а обновление по умолчанию для прямого перехода в реальном времени в настоящее время не работает в Babel.

Однако ваш подход к этой проблеме кажется несколько окольным. Почему бы не сделать

let loaded = true;
export isPageLoaded(){
    let state = loaded;
    loaded = false;
    return loaded;
}