簡體   English   中英

Node.js meteor.js光纖和循環

[英]Node.js meteor.js fibers and loop

好的,我正在學習光纖,但我不知道如何實現“等待光纖內部循環結束”

現在我有了這段代碼,可以正常工作了。

        if (Meteor.isServer) {

        function checkIfIOwnThisItem(callback) {
           setTimeout(function() {
                callback("this callback");
            }, 500);
        }           

        var f = Fiber(function() {
            var fiber = Fiber.current;

            checkIfIOwnThisItem(function(str) {
                fiber.run(str);
            });

            str = Fiber.yield();
            console.log(str);
        });

        f.run();

    }

我需要替換 setTimeout ... FOR ...

        _.each(myBank.items,function(loopItem,key,list){
        if (loopItem.itemId == item.itemId) {
            ownItem = true;
            countOfOwnItemInBank = parseInt(loopItem.number);
        }
    }); 

整個要點是首先檢查我是否已經擁有項目(自己的項目為真),然后我可以做任何我想做的事,但我需要確保ownItem為真

聽起來您是從一些有關桌面編程中的光纖/線程的回憶開始的,並試圖映射一個精確的等效項。 我記得那個世界。 不要那樣想。 光纖更多的是不等待可能隨時出現的答案。

我敢打賭,如果您采取較小的步驟,少花一點心思,只是獲得一些HTML / js來完成您想要的事情,然后在遇到一個障礙時回到這里,您將取得進步。

例如,項目的所有權通常由文檔中的字段,所有者標識,匹配當前用戶標識來表示

Fiber(function() {
  _.each(myBank.items,function(loopItem,key,list){
    if (loopItem.itemId == item.itemId) {
        ownItem = true;
        countOfOwnItemInBank = parseInt(loopItem.number);
    }
  }); 
}).run();

此代碼應同步工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM