等到下一个方法之前方法完成?

时间:2015-07-21 11:48:36

标签: php

我有一个上传图片的课程:

echo "<span>test</span>";

在此上传方法中,执行(AWS S3)承诺:

$myClass->upload();
nextMethod();

我如何才能使它在promise完成之前不会调用nextMethod?

1 个答案:

答案 0 :(得分:0)

因为默认情况下promise是异步的(即只记录上传实际完成时要调用的回调),唯一的方法是执行promise success回调中的所有逻辑。 (即nextMethod())如果您需要使用父作用域中的变量,请将它们传递给use语言构造。

$promise->then(function() { echo "Done\n"; nextMethod(); }, function() { echo "Not Done\n"; });