Я вижу эту ошибку с TypeScript:
Сам код выглядит так:
let fn = function (transformPaths: Array<string>, cb: Function) {
async.mapLimit(transformPaths, 5, function (t: string, $cb: Function) {
// ....
}, cb);
};
Сообщение об ошибке:
TS2345: аргумент типа «строка []» не может быть назначен параметру типа «Словарь‹ {}> ». Индексная подпись отсутствует в типе 'string []'.
Как я могу это исправить? Как вы можете видеть на снимке экрана, типизация из библиотеки async не любит простой массив строк, переданный в качестве первого аргумента async.mapLimit, но почему?
Я на 99% уверен, что мне нужно добавить подпись индекса к массиву строк, но как мне это сделать?
Вот что-то, что «компилируется», но я не знаю, правильно ли это (похоже, это никому не помогает):
export interface ISumanTransformPaths extends Array<string> {
[index:string]: Object
}
теперь, когда я использую (transformPaths: ISumanTransformPaths)
, он компилируется, но я не уверен, правильно ли это.
{ key1: "value1", key2: "value2" }
) - person Nitzan Tomer   schedule 27.06.2017async
библиотеку, но обычноDictionary
означает ключ / значение. Можете ли вы поделиться ссылкой на файл определения для него? - person Nitzan Tomer   schedule 27.06.2017