गुज़ल के साथ, वादे किसी असली उपयोगिता प्रदान करते हैं? ऐसा लगता है कि आप कॉल प्रतीक्षा() होना चाहिए। निम्नलिखित कोड (डॉक्स से) अपने आप में कुछ नहीं कर रहा है:Guzzle async का वादा क्या है?
$promise = $client->requestAsync('GET', 'http://httpbin.org/get');
$promise->then(
function (ResponseInterface $res) {
echo $res->getStatusCode() . "\n";
},
function (RequestException $e) {
echo $e->getMessage() . "\n";
echo $e->getRequest()->getMethod();
}
);
यदि आप कॉल करना होगा $ promise-> इंतजार() अनुरोध करने के लिए, एक वादा की बात क्या है? कैसे यह वास्तव में किसी भी अलग से है:
$request = new Request('GET', 'http://httpbin.org/get');
$response = $client->send($request);
if ($response
बेस्ट मैं बता सकता हूँ, केवल लाभ यह सुविधाजनक तरीका अनुरोध सफलता और विफलता कॉलबैक परिभाषित करने के लिए है। यहां तक कि एकाधिक अनुरोध करने पर दस्तावेज़ अनुभाग में नीचे दिया गया कोड है, जो सभी अनुरोधों को ब्लॉक और निष्पादित करता है ... शायद "एक ही समय" पर। क्या यह सब मुझे उम्मीद करनी चाहिए?
// Wait on all of the requests to complete.
$results = Promise\unwrap($promises);
आस्थगित प्रसंस्करण के साथ बिल्कुल पर्याय async है उपयोग किया जाता है? –
अच्छा सवाल और शायद नहीं। वास्तव में मैं इसके वादे भाग से अधिक उलझन में हूं। – originalbryan
मुझे विश्वास नहीं है कि PHP वास्तव में असीमित घटना प्रबंधन (अभी तक) करने में सक्षम है, इसलिए 'प्रतीक्षा() 'के लिए कॉल करें।तो कुछ सच हो सकता है कि जावास्क्रिप्ट में जो कुछ लाभ आप देखेंगे, वे PHP के संस्करण (अभी तक) में स्पष्ट नहीं हैं, लेकिन वादे का उद्देश्य यह है कि आप इंटरफ़ेस जैसे "केवल पढ़ने के लिए" पास कर सकते हैं स्थगित में जिसे उस इंटरफ़ेस के माध्यम से हल नहीं किया जा सकता है। शायद यह पीछे की संगतता के लिए है (अभी के लिए)। –