promise help
Помогите новичку разобраться.... что то совсем непонятно....
краткий код (все лишнее убрано): ...................... }).then(( result:Array<{ip:string}> )=>{ let rowPromise = new Promise( (resolve) => resolve( true )); rowPromise.then(()=>{ return __this.servers.device[indexServer].object.AAA({ )}) return rowPromise }).then(( )=>{ return true при выполнении идет на ААА. Эта функция возвращает промис, который на момент выполнения не resolve как только выполнение в AAA попадает на строку, ввода/вывода - выполнение переходит на строку return true и функция AAA продолжает выполнятся но уже "сама по себе" promise еще не resolve - почему срабатывает then? следующий момент, если откорректировать код таким образом: ...................... }).then(( result:Array<{ip:string}> )=>{ return __this.servers.device[indexServer].object.AAA({ )}) }).then(( )=>{ return true все работает как надо. т.е. пока AAA не завершится - return true не выполнится |
вот еще дополнение
}).then(( result:Array<{ip:string}> )=>{ let rowPromise = new Promise( (resolve) => resolve( true )); rowPromise.then(()=>{ return __this.servers.device[indexServer].object.AAA({ )}) return rowPromise.then(()=>{ let a = 0 //!!! сюда не заходит, идет на return true //сюда зайдет когда завершится AAA }) }).then(( )=>{ return true |
:-E разобрался. так и должно быть. в Ж. все, усталость, сорри
|
Часовой пояс GMT +3, время: 13:37. |