我有一个上传图片的类:
$myClass->upload();
nextMethod();
在这个上传方法中,一个(AWS S3)承诺被执行:
$promise->then(function() { echo "Done'n"; }, function() { echo "Not Done'n"; });
我怎样才能使nextMethod在promise完成之前不被调用?
因为默认情况下promise是异步的(即只在上传实际完成时才注册回调),所以唯一的方法就是执行promise成功回调的所有逻辑。(即nextMethod()
)如果你需要使用来自父作用域的变量,将它们传递给use
语言构造。
$promise->then(function() { echo "Done'n"; nextMethod(); }, function() { echo "Not Done'n"; });