Enum near_sdk::PromiseOrValue
source · pub enum PromiseOrValue<T> {
Promise(Promise),
Value(T),
}
Expand description
When the method can return either a promise or a value, it can be called with PromiseOrValue::Promise
or PromiseOrValue::Value
to specify which one should be returned.
§Example
#[ext_contract]
pub trait ContractA {
fn a(&mut self);
}
let value = Some(true);
let val: PromiseOrValue<bool> = if let Some(value) = value {
PromiseOrValue::Value(value)
} else {
contract_a::ext("bob_near".parse().unwrap()).a().into()
};
Variants§
Trait Implementations§
source§impl<T: BorshSerialize> BorshSerialize for PromiseOrValue<T>
impl<T: BorshSerialize> BorshSerialize for PromiseOrValue<T>
source§impl<T> From<Promise> for PromiseOrValue<T>
impl<T> From<Promise> for PromiseOrValue<T>
Auto Trait Implementations§
impl<T> !Freeze for PromiseOrValue<T>
impl<T> !RefUnwindSafe for PromiseOrValue<T>
impl<T> !Send for PromiseOrValue<T>
impl<T> !Sync for PromiseOrValue<T>
impl<T> Unpin for PromiseOrValue<T>where
T: Unpin,
impl<T> !UnwindSafe for PromiseOrValue<T>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more