約束複数の実行順序

app.isLogin()
     // ログインするかどうかを決定した後 
    .then(RES => {
         この.setData({ 
          ログイン:trueに
        }、RES2 => {
           // クリアを一時的に不可欠な
          リターン app.clearTempScore()    //が約束を返します
        })
    } )
    .then(RES => { 
      にconsole.log(' .then .............. ' 
    }) キャッチ(ERR => { 
      にconsole.log(ERR)
    })

1、setDataメソッドは約束を返さ

   直接ステータスがapp.clearTempScore保留返された場合でも、第二.then()を実行する(通常復帰の約束を、状態が保留されている)(.then実行しません)

   setDataメソッドが非同期要求であるので、我々は時にコールバックRES2知らない、プロミスが返さ(:持っているかのように理解されます)

   この場合は、.then()約束を返さないに等しい直接約束を返しません

app.isLogin()
     // ログインするかどうかを決定した後 
    .then(RES => { 
        
    })
    .then(RES => { 
      にconsole.log(' .then .............. ' 
    }) キャッチ(ERR => { 
      にconsole.log(ERR)
    })

図2は、第一.thenは())(.then直接プロミス、第2コードシーケンスの実行を返しません

図3に示すように、第一.then()は直接リターン約束を有し、コード)は、プロミスの戻りを待つ決意または状態に拒否し、その後第二.thenを(実行します

おすすめ

転載: www.cnblogs.com/qq254980080/p/12043856.html