この時点で、非同期プロミスの連鎖について同僚といくつかの議論があります。Qではサポートされていないと言いますが、サポートされていると言っていますが、有効な回答は得られません。多分あなた達ができるようにしてください!
ここに問題があります。非同期があります。
// Hopefully all can tell that this is just an example fn
function asyncServerRead(url) {
var deferred = Q.defer();
$.get(url, function(response) {
deferred.resolve(response);
});
return deferred.promise;
}
これで、他の関数の応答に依存するいくつかの関数ができました
// This is how i say it has to be done
function doubleReadParadise(url) {
var deferred = Q.defer();
asyncServerRead(url).then(function(responseUrl) {
asyncServerRead(responseUrl).then(function(response) {
// .. most bestest operation ever ..
deferred.resolve(response);
});
});
return deferred.promise;
}
今、私はこれがそうでなかったらいいのにと思います。このようなことができたらいいのに
asyncServerRead(url).then(function(serverUrl) {
return asyncServerRead(serverUrl);
}).then(function(response) {
// .. most bestest operation ever ..
return response;
});
明らかに、その 2 番目のバージョンは機能しません。
本当に私が求めているのは、線形非同期操作に関するものです。自分自身の死のピラミッドを成長させないことは可能ですか?
愛する、
マイケル