1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-arkcompiler_ets_frontend

 / Детали:

[Задача консультации]: [Migration Helper][Миграционный помощник спецификации] По правилам не поддерживается...

Предстоит сделать
Владелец
Создано  
22.04.2025

structural typing, параметр типа в коллбэке then taskpool фиксированного типа Object, в то время как фактически возвращается тип Array. Приведение значения как Array для сканирования вызывает ошибку, что делает невозможным чтение возвращаемого значения в коллбэке then taskpool.

Описание проблемы

Шаги тестирования

Код до исправления:

let task1: taskpool.Task = new taskpool.Task(funObject1());
taskpool.execute(task1).then((value:Object) => {
    console.info("результат теста taskpool: " + JSON.stringify(value));
    let aa = value as Array<string|number>;
    expect(aa[0]).assertEqual('toString result: bb : cc');
    expect(aa[1]).assertEqual(200);
    expect(aa[2]).assertEqual('testtoString');
});
function funObject1():Array<string|number> {
    let aa:ObjectInfo1 = new ObjectInfo1('bb', 'cc');
    let ee:Array<string|number> = [aa.toString(), aa.toString(2), aa.toString('test')];
    return ee;
}

Ожидаемый результат

Исправление успешно выполнено.

Фактический результат

В методе then объекта taskpool тип параметра value фиксирован как Object, но фактически возвращается массив типа Array. Преобразование value в Array приводит к ошибке, из-за которой метод then не может корректно обработать возвращаемое значение.

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
waiting_for_assign
label.
GitLife Service Account добавлено
 
question
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openharmony-arkcompiler_ets_frontend.git
git@api.gitlife.ru:oschina-mirror/openharmony-arkcompiler_ets_frontend.git
oschina-mirror
openharmony-arkcompiler_ets_frontend
openharmony-arkcompiler_ets_frontend