0
我正在通過strongloop的環回提供REST Api。Strongloop loopback:以原子方式鎖定模型實例
我需要通過像一些呼叫添加模型實例的鎖定:
POST /User/{id}/tryLock
返回一個Lock實例,有一些額外的信息:是鎖成功,其用戶鎖定的對象,等等。
我使用的是回送連接器-mysql和我知道,在同步的MySQL我會用某種形式的:
BEGIN TRANSACTION;
SELECT lockId FROM object WHERE id = objectId FOR UPDATE;
// This is C++ or Java or whatever:
if(lockId != NULL)
Fatal("Object was locked")
INSERT INTO locks (objectId, userId, ...);
UPDATE object SET lockId = locks.lastInsertId WHERE id = objectId;
COMMIT;
在loopback中是否可以這樣做?我很樂意將它作爲一個mixin來實現,以便我可以將它用於選定的模型。
謝謝!
問題是,(當我明白了這一點),我不能使用環回事務,由於其異步性質。 – Niklas
我剛剛看到了這一點,並會查看它:https://github.com/strongloop/loopback-connector-mysql/pull/99 – Niklas
或者,您可以將事務分解成多個部分,然後在一個SQL語句中運行一個SQL命令時間 - 並在Javascript中評估結果。 –