私のコードは次のとおりです
予想される実行結果、コンソールには 1、2、3 が出力されるはずです
しかし、プログラムを実行すると、エラーが報告されました
これは私のものだと言うべきですyield后面应该跟function但是上面的demo中我的yield后面跟的已经是function 期待される出力がないのはなぜですか?
yield
function
2 番目の書き方:
coすでにジェネレーター関数を受け入れています。上記の書き方ではコンソールに1,2,3を出力できません
co
小伙看你根骨奇佳,潜力无限,来学PHP伐。
あなたのyield后面跟的不是are这个函数,而是are执行后的返回值。其实它等于yield undefined、これがエラーの原因です。
are
yield undefined
リーリー
通常の機能はサポートされていません
見てくださいco库的源码就好,报错是co库报出来的,原因是因为楼上说的返回了undefined、具体的なエラーコードは次のとおりです:
undefined
isPromise检测是否为Promise,co库先尝试将yield后转换为Promise,具体参见toPromise機能:
isPromise
Promise
toPromise
が undefined,所以最终toPromise返回了undefined,检测不是Promise に渡されたため、エラーがスローされました。
出力がない理由については1,2,3的原因,是因为yield后面的关系,yield后面是要接受函数作为参数,并且要执行这个函数的,所以yield通常、その後に非同期操作が続きます。この関数はコールバック関数ですが、その関数なので、次のように変更してください:
1,2,3
あなたの
yield
后面跟的不是are
这个函数,而是are
执行后的返回值。其实它等于
yield undefined
、これがエラーの原因です。リーリー
通常の機能はサポートされていません
見てください
リーリーco
库的源码就好,报错是co
库报出来的,原因是因为楼上说的返回了undefined
、具体的なエラーコードは次のとおりです:
リーリーisPromise
检测是否为Promise
,co
库先尝试将yield
后转换为Promise
,具体参见toPromise
機能:が
undefined
,所以最终toPromise
返回了undefined
,检测不是Promise
に渡されたため、エラーがスローされました。出力がない理由については
リーリー1,2,3
的原因,是因为yield
后面的关系,yield
后面是要接受函数作为参数,并且要执行这个函数的,所以yield
通常、その後に非同期操作が続きます。この関数はコールバック関数ですが、その関数なので、次のように変更してください: