Я пытаюсь использовать функцию filterasync «s, что из дока для v1.5.2 (тот, который вы получите по умолчанию, если вы npm i async
), принимаете одно значение (логического) для обратного вызова в итераторе:Что делать, если определения определенного типа используются для более новой версии, чем то, что я хочу?
Итератор (элемент, обратный вызов) - Тест на истинность, применяемый к каждому элементу в обр. Итератору передается обратный вызов (trueValue), который должен быть вызван с логическим аргументом после его завершения.
Я проверил the code, и это правда для этой версии.
Проблема заключается в том, что кандидат на выпуск, который обрабатывается для async v2, как представляется, изменяет это, чтобы принять обычный (ошибка, значение) обратный вызов. Последнее определение - это то, что используется определениями типа для async в DefinitelyTyped:
interface AsyncBooleanIterator<T> { (item: T, callback: (err: string, truthValue: boolean) => void): void; }
// ...
filter<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
Что происходит? Я не могу опубликовать PR, потому что текущие определения типов - это будущее async. Но я получаю сообщение об ошибке, используя async, как я полагаю, для v1.5.2. Существуют ли разные версии, к которым я могу получить доступ для определенных типов defs?
Я начинаю с машинописного текста и слышал о том, что называется слиянием. По-видимому, можно расширить определение AsyncBooleanIterator
так, чтобы он мог принимать обратный вызов с одним логическим аргументом ... но я не уверен, как это сделать. Любая помощь будет оценена по достоинству.
Привет Алексей! Итак, вы говорите, чтобы выбрать фиксацию во всей истории DefinitelyTyped, когда async.d.ts имеет определение v1.5.2 для фильтра и загружает его вручную в моем проекте? Это то, как люди работают с DefinitelyTyped? (Я переключился на [email protected] - проще). Re AsyncBooleanIterator, я знаю, как этот тип можно определить для размещения старой версии. Но как я могу вступить в силу? Если я просто отброшу это в свой файл, это не сработает. Как я могу каким-то образом расширить/слить это определение типа, которое находится в typings/globals/async/index.d.ts из моих ts-файлов? – justin
В 'typings.json' вы можете указать требуемый идентификатор фиксации. Например: «ng-file-upload»: «github: DefinitelyTyped/DefinitelyTyped/ng-file-upload/ng-file-upload.d.ts # 41f8573534b0fff88707d0a4cb870456b50cd43b» ' –
Спасибо, я не знал этого :) У вас есть знаете, как AsyncBooleanIterator может быть расширен из-за границы файла DefinitelyTyped? (для будущего ref) – justin