2010-11-08 27 views
5

mümkün olmayan engelleme demek ki node.jsnode.js'de zincirleme yöntemler oluşturulsun mu?

File.create('file.jpg').rename('renamed.jpg').append('Hello World') 

böyle asenkrondur zincirleme yöntemleri oluşturmak mı.

+0

Engellemeyi yapmıyorsa, bir yere geri arama işlevi olmamalı mı? –

+0

@Matthew: Evet, yapmalı. Bu yüzden, asynch olan bir yöntem zincirleme oluşturmanın bir yolu olup olmadığını merak ediyorum. Belki bir şekilde otomatik olarak halledebilecek bir kütüphaneyle. – ajsie

cevap

8

Temelde soyut için API dosya işleme operasyonlarının asenkron doğasını istiyorum.

Yapılabilir

, şu makaleye bir görünüm vermek için tavsiye ederim:

makale şu @anywhere JavaScript API çalışır Dustin Diaz tarafından yazılmıştır, ve tam istediğiniz şeyi yapar, basit bir Kuyruk uygulaması kullanarak, herhangi bir geri dönüşten bağımsız olarak akıcı bir arayüz oluşturulabilir.

uyumsuzluk gizlidir ve API'nız tarafından dahili olarak ele alınır, güzel ve basit bir tekniktir.

+0

Bunun için bir kütüphane var mı? – ajsie

+0

@anywhere bağlantısı ölü :( –

+0

+1 Kütüphane için bir "chainify" API'sine sahip olan https://github.com/FuturesJS/FuturesJS adresine rastladım, ancak nasıl kullanılacağı hakkında bilgi bulamıyorum –

0

Elbette, herhangi bir JavaScript gibi, yalnızca bu yönteme sahip bir nesneyi döndürürsünüz.

Olası bir düzen (çok arasında).

var File = new (function() 
{ 
    this.create = function(str) 
    { 
    return this; 
    } 
    this.rename = function(str) 
    { 
    return this; 
    } 
})(); 
+1

Üzgünüz, kodun Node.js.'de eşzamansız olması gerektiğini söylemeyi unuttum. Gönderiyi düzenledim. – ajsie

İlgili konular