/* generator functions并不能保证Promise函数yield的顺序. 但是sagaMiddleware.run函数对Generator进行了封装对于yield返回的结果在generator中可以保证执行的顺序。 */ var testSage = function*(){ var value1 = yield delay(1000,2) console.log('step 1') var value2 = yield delay(2000,2) console.log('step 2') var value3 = yield delay(3000,2) console.log('step 3') var result= value1 + value2 + value3; console.log('result',result); yield result; } sagaMiddleware.run(testSage)